{"title":"アップロードファイルとアップロードハンドラ","version":"6.1","locale":"ja","docname":"ref/files/uploads","url":"/ja/6.1/ref/files/uploads/","canonical":"https://djangodocs.dev/ja/6.1/ref/files/uploads/","summary":"アップロードファイル Link to this heading # class UploadedFile Link to this definition # ファイルアップロード中、実際のファイルデータは request.FILES に保存されます。この辞書の各エントリーは UploadedFile…","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>ファイルアップロード中、実際のファイルデータは <a class=\"reference internal\" href=\"/ja/6.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> に保存されます。この辞書の各エントリーは <code class=\"docutils literal notranslate\"><span class=\"pre\">UploadedFile</span></code> オブジェクト(またはそのサブクラス)です。これはアップロードされたファイルのラッパーです。アップロードされたコンテンツにアクセスするために、通常、以下のメソッドのいずれかを使用します:</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>アップロードされたデータ全体をファイルから読み込む。このメソッドには注意が必要です。アップロードされたファイルが巨大な場合、それをメモリに読み込もうとするとシステムを圧迫する可能性があります。おそらく代わりに <code class=\"docutils literal notranslate\"><span class=\"pre\">chunks()</span></code> を使うことになるでしょう。</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>アップロードされたファイルが、複数のチャンクに分けて読み込む必要があるほど大きい場合に <code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code> を返します。デフォルトでは2.5MB以上のファイルですが、設定可能です。</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>ファイルのチャンクを返すジェネレータです。<code class=\"docutils literal notranslate\"><span class=\"pre\">multiple_chunks()</span></code> が <code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code> の場合、 <code class=\"docutils literal notranslate\"><span class=\"pre\">read()</span></code> の代わりにこのメソッドをループで使用すべきです。</p>\n<p>実際には、常に <code class=\"docutils literal notranslate\"><span class=\"pre\">chunks()</span></code> を使用するのが最も簡単です。 <code class=\"docutils literal notranslate\"><span class=\"pre\">read()</span></code> を使用する代わりに <code class=\"docutils literal notranslate\"><span class=\"pre\">chunks()</span></code> をループ処理することで、大きなファイルがシステムのメモリを圧迫しないようにできます。</p>\n</dd></dl>\n\n<p><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>アップロードされたファイルの名前 (例: <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>アップロードされたファイルのサイズ（バイト単位）。</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>ファイルと共にアップロードされるコンテンツタイプのヘッダ (例: <em class=\"mimetype\">text/plain</em> や <em class=\"mimetype\">application/pdf</em>)。ユーザーから提供されるデータのように、アップロードされたファイルが実際にこのタイプであると信頼すべきではありません。依然として、ファイルがコンテンツタイプヘッダが示すコンテンツを含んでいることを検証する必要があります。&quot;信頼するが検証せよ&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><code class=\"docutils literal notranslate\"><span class=\"pre\">content-type</span></code> ヘッダーに渡される追加のパラメータを含む辞書です。通常、Google App Engine などのサービスがファイルのアップロードを取り扱っている場合に提供されます。その結果、ハンドラはアップロードされたファイル内容を受信しないかもしれず、代わりにファイルへの URL や他のポインターを受け取ります (<span class=\"target\" id=\"index-2\"></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><em class=\"mimetype\">text/*</em> コンテンツタイプについては、ブラウザが提供する文字セット(例えば <code class=\"docutils literal notranslate\"><span class=\"pre\">utf8</span></code>)です。ここでも、&quot;信頼するが検証せよ&quot; が最良の方針です。</p>\n</dd></dl>\n\n<aside class=\"admonition admonition-note\" role=\"note\">\n<p class=\"admonition-title\">注釈</p>\n<p>通常の Python ファイルのように、アップロードされたファイルをイテレートすることで、ファイルを一行ずつ読むことができます:</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 <a class=\"reference external\" href=\"https://docs.python.org/3/glossary.html#term-universal-newlines\" title=\"(in Python v3.14)\"><span>universal newlines</span></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><code class=\"docutils literal notranslate\"><span class=\"pre\">UploadedFile</span></code> のサブクラスには以下が含まれます:</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>一時的な場所にアップロードされたファイル (つまり、stream-to-disk)。このクラスは、 <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> によって使用されます。 <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> のメソッドに加えて、1つの追加メソッドを持っています:</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>一時アップロードされたファイルの完全なパスを返します。</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>メモリへのアップロードされたファイル(つまり、stream-to-memory)。このクラスは <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><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> と <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> は、小さなファイルをメモリに読み込み、大きなファイルをディスクに保存するDjangoのデフォルトのファイルアップロードの動作を提供します。これらは <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>小さいファイル用にアップロードをメモリにストリームするためのファイルアップロードハンドラ。</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><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> はアップロードされたデータを含むバイト文字列です。</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\">UploadedFile</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> はブラウザによって提供されるファイル名です。</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.upload_interrupted\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">FileUploadHandler.</span></span><span class=\"sig-name descname\"><span class=\"pre\">upload_interrupted</span></span><span class=\"sig-paren\">(</span><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.core.files.uploadhandler.FileUploadHandler.upload_interrupted\"><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></code> から <code class=\"docutils literal notranslate\"><span class=\"pre\">content_length</span></code> バイト以上を読み出さないでください。</p>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">boundary</span></code> は、このリクエストの MIME boundary です。</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 リファレンス","url":"/ja/6.1/ref/"},{"docname":"ref/files/index","title":"ファイルの取り扱い","url":"/ja/6.1/ref/files/"}],"prev":{"docname":"ref/files/storage","title":"ファイルストレージ API","url":"/ja/6.1/ref/files/storage/"},"next":{"docname":"ref/forms/index","title":"フォーム","url":"/ja/6.1/ref/forms/"},"formats":{"html":"/ja/6.1/ref/files/uploads/","markdown":"/ja/6.1/ref/files/uploads.md","json":"/ja/6.1/ref/files/uploads.json"},"source":"https://github.com/django/django/blob/stable/6.1.x/docs/ref/files/uploads.txt","official":"https://docs.djangoproject.com/ja/6.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","sv","zh-hans","ga","fr","ja","id","it","pt-br","ko","es","el","pl"]}