{"title":"アップロードファイルとアップロードハンドラ","version":"3.1","locale":"ja","docname":"ref/files/uploads","url":"/ja/3.1/ref/files/uploads/","canonical":"https://djangodocs.dev/ja/3.1/ref/files/uploads/","summary":"アップロードファイル Link to this heading # class UploadedFile Link to this definition # During file uploads, the actual file data is stored in request.FILES . Each entry in…","html":"<span id=\"uploaded-files-and-upload-handlers\"></span><h1>アップロードファイルとアップロードハンドラ<a class=\"heading-anchor\" href=\"#module-django.core.files.uploadedfile\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h1>\n<section id=\"uploaded-files\">\n<h2>アップロードファイル<a class=\"heading-anchor\" href=\"#uploaded-files\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.core.files.uploadedfile.UploadedFile\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">UploadedFile</span></span><a class=\"heading-anchor\" href=\"#django.core.files.uploadedfile.UploadedFile\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>During file uploads, the actual file data is stored in <a class=\"reference internal\" href=\"/ja/3.1/ref/request-response/#django.http.HttpRequest.FILES\" title=\"django.http.HttpRequest.FILES\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">request.FILES</span></code></a>. Each entry in this dictionary is an\n<code class=\"docutils literal notranslate\"><span class=\"pre\">UploadedFile</span></code> object (or a subclass) -- a wrapper around an uploaded file.\nYou'll usually use one of these methods to access the uploaded content:</p>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.core.files.uploadedfile.UploadedFile.read\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">UploadedFile.</span></span><span class=\"sig-name descname\"><span class=\"pre\">read</span></span><span class=\"sig-paren\">(</span><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.core.files.uploadedfile.UploadedFile.read\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Read the entire uploaded data from the file. Be careful with this method:\nif the uploaded file is huge it can overwhelm your system if you try to\nread it into memory. You'll probably want to use <code class=\"docutils literal notranslate\"><span class=\"pre\">chunks()</span></code> instead; see\nbelow.</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.core.files.uploadedfile.UploadedFile.multiple_chunks\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">UploadedFile.</span></span><span class=\"sig-name descname\"><span class=\"pre\">multiple_chunks</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">chunk_size</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.core.files.uploadedfile.UploadedFile.multiple_chunks\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Returns <code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code> if the uploaded file is big enough to require reading in\nmultiple chunks. By default this will be any file larger than 2.5 megabytes,\nbut that's configurable; see below.</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.core.files.uploadedfile.UploadedFile.chunks\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">UploadedFile.</span></span><span class=\"sig-name descname\"><span class=\"pre\">chunks</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">chunk_size</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.core.files.uploadedfile.UploadedFile.chunks\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>A generator returning chunks of the file. If <code class=\"docutils literal notranslate\"><span class=\"pre\">multiple_chunks()</span></code> is\n<code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code>, you should use this method in a loop instead of <code class=\"docutils literal notranslate\"><span class=\"pre\">read()</span></code>.</p>\n<p>In practice, it's often easiest to use <code class=\"docutils literal notranslate\"><span class=\"pre\">chunks()</span></code> all the time. Looping\nover <code class=\"docutils literal notranslate\"><span class=\"pre\">chunks()</span></code> instead of using <code class=\"docutils literal notranslate\"><span class=\"pre\">read()</span></code> ensures that large files\ndon't overwhelm your system's memory.</p>\n</dd></dl>\n\n<p>Here are some useful attributes of <code class=\"docutils literal notranslate\"><span class=\"pre\">UploadedFile</span></code>:</p>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.core.files.uploadedfile.UploadedFile.name\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">UploadedFile.</span></span><span class=\"sig-name descname\"><span class=\"pre\">name</span></span><a class=\"heading-anchor\" href=\"#django.core.files.uploadedfile.UploadedFile.name\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>The name of the uploaded file (e.g. <code class=\"docutils literal notranslate\"><span class=\"pre\">my_file.txt</span></code>).</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.core.files.uploadedfile.UploadedFile.size\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">UploadedFile.</span></span><span class=\"sig-name descname\"><span class=\"pre\">size</span></span><a class=\"heading-anchor\" href=\"#django.core.files.uploadedfile.UploadedFile.size\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>The size, in bytes, of the uploaded file.</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.core.files.uploadedfile.UploadedFile.content_type\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">UploadedFile.</span></span><span class=\"sig-name descname\"><span class=\"pre\">content_type</span></span><a class=\"heading-anchor\" href=\"#django.core.files.uploadedfile.UploadedFile.content_type\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>The content-type header uploaded with the file (e.g. <em class=\"mimetype\">text/plain</em>\nor <em class=\"mimetype\">application/pdf</em>). Like any data supplied by the user, you\nshouldn't trust that the uploaded file is actually this type. You'll still\nneed to validate that the file contains the content that the content-type\nheader claims -- &quot;trust but verify.&quot;</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.core.files.uploadedfile.UploadedFile.content_type_extra\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">UploadedFile.</span></span><span class=\"sig-name descname\"><span class=\"pre\">content_type_extra</span></span><a class=\"heading-anchor\" href=\"#django.core.files.uploadedfile.UploadedFile.content_type_extra\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>A dictionary containing extra parameters passed to the <code class=\"docutils literal notranslate\"><span class=\"pre\">content-type</span></code>\nheader. This is typically provided by services, such as Google App Engine,\nthat intercept and handle file uploads on your behalf. As a result your\nhandler may not receive the uploaded file content, but instead a URL or\nother pointer to the file (see <span class=\"target\" id=\"index-0\"></span><a class=\"rfc reference external\" href=\"https://datatracker.ietf.org/doc/html/rfc2388.html#section-5.3\"><strong>RFC 2388</strong></a>).</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.core.files.uploadedfile.UploadedFile.charset\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">UploadedFile.</span></span><span class=\"sig-name descname\"><span class=\"pre\">charset</span></span><a class=\"heading-anchor\" href=\"#django.core.files.uploadedfile.UploadedFile.charset\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>For <em class=\"mimetype\">text/*</em> content-types, the character set (i.e. <code class=\"docutils literal notranslate\"><span class=\"pre\">utf8</span></code>)\nsupplied by the browser. Again, &quot;trust but verify&quot; is the best policy here.</p>\n</dd></dl>\n\n<aside class=\"admonition admonition-note\" role=\"note\">\n<p class=\"admonition-title\">注釈</p>\n<p>Like regular Python files, you can read the file line-by-line by iterating\nover the uploaded file:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"k\">for</span> <span class=\"n\">line</span> <span class=\"ow\">in</span> <span class=\"n\">uploadedfile</span><span class=\"p\">:</span>\n    <span class=\"n\">do_something_with</span><span class=\"p\">(</span><span class=\"n\">line</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>Lines are split using <span class=\"target\" id=\"index-1\"></span><a class=\"pep reference external\" href=\"https://peps.python.org/pep-0278/\"><strong>universal newlines</strong></a>. The following are\nrecognized as ending a line: the Unix end-of-line convention <code class=\"docutils literal notranslate\"><span class=\"pre\">'\\n'</span></code>, the\nWindows convention <code class=\"docutils literal notranslate\"><span class=\"pre\">'\\r\\n'</span></code>, and the old Macintosh convention <code class=\"docutils literal notranslate\"><span class=\"pre\">'\\r'</span></code>.</p>\n</aside>\n<p>Subclasses of <code class=\"docutils literal notranslate\"><span class=\"pre\">UploadedFile</span></code> include:</p>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.core.files.uploadedfile.TemporaryUploadedFile\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">TemporaryUploadedFile</span></span><a class=\"heading-anchor\" href=\"#django.core.files.uploadedfile.TemporaryUploadedFile\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>A file uploaded to a temporary location (i.e. stream-to-disk). This class\nis used by the\n<a class=\"reference internal\" href=\"#django.core.files.uploadhandler.TemporaryFileUploadHandler\" title=\"django.core.files.uploadhandler.TemporaryFileUploadHandler\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">TemporaryFileUploadHandler</span></code></a>. In\naddition to the methods from <a class=\"reference internal\" href=\"#django.core.files.uploadedfile.UploadedFile\" title=\"django.core.files.uploadedfile.UploadedFile\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">UploadedFile</span></code></a>, it has one additional\nmethod:</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.core.files.uploadedfile.TemporaryUploadedFile.temporary_file_path\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">TemporaryUploadedFile.</span></span><span class=\"sig-name descname\"><span class=\"pre\">temporary_file_path</span></span><span class=\"sig-paren\">(</span><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.core.files.uploadedfile.TemporaryUploadedFile.temporary_file_path\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Returns the full path to the temporary uploaded file.</p>\n</dd></dl>\n\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.core.files.uploadedfile.InMemoryUploadedFile\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">InMemoryUploadedFile</span></span><a class=\"heading-anchor\" href=\"#django.core.files.uploadedfile.InMemoryUploadedFile\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>A file uploaded into memory (i.e. stream-to-memory). This class is used\nby the <a class=\"reference internal\" href=\"#django.core.files.uploadhandler.MemoryFileUploadHandler\" title=\"django.core.files.uploadhandler.MemoryFileUploadHandler\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">MemoryFileUploadHandler</span></code></a>.</p>\n</dd></dl>\n\n</section>\n<section id=\"module-django.core.files.uploadhandler\">\n<span id=\"built-in-upload-handlers\"></span><h2>ビルトインのアップロードハンドラ<a class=\"heading-anchor\" href=\"#module-django.core.files.uploadhandler\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Together the <a class=\"reference internal\" href=\"#django.core.files.uploadhandler.MemoryFileUploadHandler\" title=\"django.core.files.uploadhandler.MemoryFileUploadHandler\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">MemoryFileUploadHandler</span></code></a> and\n<a class=\"reference internal\" href=\"#django.core.files.uploadhandler.TemporaryFileUploadHandler\" title=\"django.core.files.uploadhandler.TemporaryFileUploadHandler\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">TemporaryFileUploadHandler</span></code></a> provide Django's default file upload\nbehavior of reading small files into memory and large ones onto disk. They\nare located in <code class=\"docutils literal notranslate\"><span class=\"pre\">django.core.files.uploadhandler</span></code>.</p>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.core.files.uploadhandler.MemoryFileUploadHandler\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">MemoryFileUploadHandler</span></span><a class=\"heading-anchor\" href=\"#django.core.files.uploadhandler.MemoryFileUploadHandler\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>File upload handler to stream uploads into memory (used for small files).</p>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.core.files.uploadhandler.TemporaryFileUploadHandler\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">TemporaryFileUploadHandler</span></span><a class=\"heading-anchor\" href=\"#django.core.files.uploadhandler.TemporaryFileUploadHandler\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Upload handler that streams data into a temporary file using\n<a class=\"reference internal\" href=\"#django.core.files.uploadedfile.TemporaryUploadedFile\" title=\"django.core.files.uploadedfile.TemporaryUploadedFile\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">TemporaryUploadedFile</span></code></a>.</p>\n</section>\n<section id=\"writing-custom-upload-handlers\">\n<span id=\"custom-upload-handlers\"></span><h2>アップロードハンドラをカスタマイズする<a class=\"heading-anchor\" href=\"#writing-custom-upload-handlers\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.core.files.uploadhandler.FileUploadHandler\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">FileUploadHandler</span></span><a class=\"heading-anchor\" href=\"#django.core.files.uploadhandler.FileUploadHandler\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>全てのファイルアップロードハンドラは、<code class=\"docutils literal notranslate\"><span class=\"pre\">django.core.files.uploadhandler.FileUploadHandler</span></code> のサブクラスとなります。アップロードハンドラはいつでも好きなときに定義できます。</p>\n<section id=\"required-methods\">\n<h3>必要なメソッド<a class=\"heading-anchor\" href=\"#required-methods\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>カスタマイズされたファイルアップロードハンドラでは、以下のメソッドを定義する <strong>必要があります</strong>。</p>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.core.files.uploadhandler.FileUploadHandler.receive_data_chunk\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">FileUploadHandler.</span></span><span class=\"sig-name descname\"><span class=\"pre\">receive_data_chunk</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">raw_data</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">start</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.core.files.uploadhandler.FileUploadHandler.receive_data_chunk\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>ファイルアップロードから、データの &quot;chunk&quot; を受け取ります。</p>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">raw_data</span></code> is a bytestring containing the uploaded data.</p>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">start</span></code> はこの <code class=\"docutils literal notranslate\"><span class=\"pre\">raw_data</span></code> チャンクが始まる、ファイル内での位置です。</p>\n<p>あなたが返すデータは、その後のアップロードハンドラの <code class=\"docutils literal notranslate\"><span class=\"pre\">receive_data_chunk</span></code> メソッドに渡されます。 この方法で、1 つのハンドラは他のハンドラの「フィルタ」になることができます。</p>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">receive_data_chunk</span></code> から <code class=\"docutils literal notranslate\"><span class=\"pre\">None</span></code> を返し、残りのアップロードハンドラがこのチャンクを取得するのを短絡します。 これは、アップロードしたデータを自分で保存しておき、将来のハンドラでデータのコピーを保存したくない場合に便利です。</p>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">StopUpload</span></code> または <code class=\"docutils literal notranslate\"><span class=\"pre\">SkipFile</span></code> 例外を発生させると、アップロードが中止されるか、ファイルが完全にスキップされます。</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.core.files.uploadhandler.FileUploadHandler.file_complete\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">FileUploadHandler.</span></span><span class=\"sig-name descname\"><span class=\"pre\">file_complete</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">file_size</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.core.files.uploadhandler.FileUploadHandler.file_complete\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>ファイルのアップロードが完了したときに呼ばれます。</p>\n<p>ハンドラは <code class=\"docutils literal notranslate\"><span class=\"pre\">request.FILES</span></code> に格納される <code class=\"docutils literal notranslate\"><span class=\"pre\">UploadedFile</span></code> オブジェクトを返します。 ハンドラは <code class=\"docutils literal notranslate\"><span class=\"pre\">Upload`File</span></code> オブジェクトが後続のアップロードハンドラから来るべきであることを示すために <code class=\"docutils literal notranslate\"><span class=\"pre\">None</span></code> を返すかもしれません。</p>\n</dd></dl>\n\n</section>\n<section id=\"optional-methods\">\n<h3>省略可能なメソッド<a class=\"heading-anchor\" href=\"#optional-methods\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>独自のアップロードハンドラは、以下の省略可能なメソッドや属性を定義することができます:</p>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.core.files.uploadhandler.FileUploadHandler.chunk_size\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">FileUploadHandler.</span></span><span class=\"sig-name descname\"><span class=\"pre\">chunk_size</span></span><a class=\"heading-anchor\" href=\"#django.core.files.uploadhandler.FileUploadHandler.chunk_size\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Django がメモリに格納してハンドラに送り込む &quot;chunks&quot; のサイズです (byte で表されます)。 つまり、この属性は <code class=\"docutils literal notranslate\"><span class=\"pre\">FileUploadHandler.receive_data_chunk</span></code> に渡されるチャンクのサイズをコントロールします。</p>\n<p>パフォーマンスを最大限にするために、チャンクサイズは <code class=\"docutils literal notranslate\"><span class=\"pre\">4</span></code> で割り切れる必要があり、2 GB (2<sup>31</sup> bytes) を超えてはいけません。 複数のハンドラによってチャンクサイズが複数ある場合、Django はハンドラで定義された最小のチャンクサイズを使用します。</p>\n<p>デフォルトは 64*2<sup>10</sup> bytes、つまり 64 KB です。</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.core.files.uploadhandler.FileUploadHandler.new_file\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">FileUploadHandler.</span></span><span class=\"sig-name descname\"><span class=\"pre\">new_file</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">field_name</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">file_name</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">content_type</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">content_length</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">charset</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">content_type_extra</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.core.files.uploadhandler.FileUploadHandler.new_file\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>新しいファイルのアップロード開始を通知するコールバックです。 アップロードハンドラにデータが送られる前に呼び出されます。</p>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">field_name</span></code> は、ファイル <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;input&gt;</span></code> フィールドの文字列名です。</p>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">file_name</span></code> is the filename provided by the browser.</p>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">content_type</span></code> は、ブラウザによって提供される MIME タイプです -- 例: <code class=\"docutils literal notranslate\"><span class=\"pre\">'image/jpeg'</span></code>。</p>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">content_length</span></code> は、ブラウザによって与えられる画像の長さです。提供されずに <code class=\"docutils literal notranslate\"><span class=\"pre\">None</span></code> となることがあります。</p>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">charset</span></code> は、ブラウザによって与えられる文字セットです (例: <code class=\"docutils literal notranslate\"><span class=\"pre\">utf8</span></code>)。<code class=\"docutils literal notranslate\"><span class=\"pre\">content_length</span></code> のように、提供されないことがあります。</p>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">content_type_extra</span></code> は、<code class=\"docutils literal notranslate\"><span class=\"pre\">content-type</span></code> からの、ファイルについての追加情報です。<a class=\"reference internal\" href=\"#django.core.files.uploadedfile.UploadedFile.content_type_extra\" title=\"django.core.files.uploadedfile.UploadedFile.content_type_extra\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">UploadedFile.content_type_extra</span></code></a> をご覧ください。</p>\n<p>このメソッドは、将来のハンドラがこのファイルをハンドリングするのを防ぐため、<code class=\"docutils literal notranslate\"><span class=\"pre\">StopFutureHandlers</span></code> 例外を投げます。</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.core.files.uploadhandler.FileUploadHandler.upload_complete\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">FileUploadHandler.</span></span><span class=\"sig-name descname\"><span class=\"pre\">upload_complete</span></span><span class=\"sig-paren\">(</span><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.core.files.uploadhandler.FileUploadHandler.upload_complete\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>全てのアップロード (全てのファイル)  が完了したことを通知するコールバックです。</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.core.files.uploadhandler.FileUploadHandler.handle_raw_input\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">FileUploadHandler.</span></span><span class=\"sig-name descname\"><span class=\"pre\">handle_raw_input</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">input_data</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">META</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">content_length</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">boundary</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">encoding</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.core.files.uploadhandler.FileUploadHandler.handle_raw_input\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>ハンドラに対して、生の HTTP インプットのパースを完全にオーバーライドできるようにします。</p>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">input_data</span></code> は、<code class=\"docutils literal notranslate\"><span class=\"pre\">read()</span></code> をサポートするファイルのようなオブジェクトです。</p>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">META</span></code> は、<code class=\"docutils literal notranslate\"><span class=\"pre\">request.META</span></code> と同じオブジェクトです。</p>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">content_length</span></code> は、<code class=\"docutils literal notranslate\"><span class=\"pre\">input_data</span></code> 内のデータの長さです。<code class=\"docutils literal notranslate\"><span class=\"pre\">input_data`</span> <span class=\"pre\">から</span> <span class=\"pre\">``content_length</span></code> バイト以上を読み出さないでください。</p>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">boundary</span></code> は、このリクエストの MIME</p>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">encoding</span></code> は、リクエストのエンコーディングです。</p>\n<p>アップロードハンドリングを継続したいとき、<code class=\"docutils literal notranslate\"><span class=\"pre\">None</span></code> を返します。もしくはリクエストに適した新しいデータ構造を直接返したいとき、 <code class=\"docutils literal notranslate\"><span class=\"pre\">(POST,</span> <span class=\"pre\">FILES)</span></code> のタプルを返します。</p>\n</dd></dl>\n\n</section>\n</section>","rootId":"module-django.core.files.uploadedfile","toc":[{"title":"アップロードファイル","anchor":"uploaded-files","children":[]},{"title":"ビルトインのアップロードハンドラ","anchor":"module-django.core.files.uploadhandler","children":[]},{"title":"アップロードハンドラをカスタマイズする","anchor":"writing-custom-upload-handlers","children":[{"title":"必要なメソッド","anchor":"required-methods","children":[]},{"title":"省略可能なメソッド","anchor":"optional-methods","children":[]}]}],"breadcrumbs":[{"docname":"ref/index","title":"API Reference","url":"/ja/3.1/ref/"},{"docname":"ref/files/index","title":"ファイルのハンドリング","url":"/ja/3.1/ref/files/"}],"prev":{"docname":"ref/files/storage","title":"File storage API","url":"/ja/3.1/ref/files/storage/"},"next":{"docname":"ref/forms/index","title":"フォーム","url":"/ja/3.1/ref/forms/"},"formats":{"html":"/ja/3.1/ref/files/uploads/","markdown":"/ja/3.1/ref/files/uploads.md","json":"/ja/3.1/ref/files/uploads.json"},"source":"https://github.com/django/django/blob/stable/3.1.x/docs/ref/files/uploads.txt","official":"https://docs.djangoproject.com/ja/3.1/ref/files/uploads/","inVersions":["6.1","6.0","5.2","5.1","5.0","4.2","4.1","4.0","3.2","3.1","3.0","2.2","2.1","2.0","1.11","1.10","1.9"],"inLocales":["en","zh-hans","fr","ja","id","pt-br","ko","es","el","pl"]}