UploadFile
クラス¶
リクエストからファイルを受信するには、パスオペレーション関数のパラメータをUploadFile
型として定義できます。
fastapi
から直接インポートできます。
from fastapi import UploadFile
fastapi.UploadFile ¶
UploadFile(file, *, size=None, filename=None, headers=None)
ベース: UploadFile
リクエストでアップロードされたファイル。
パスオペレーション関数(または依存関係)パラメータとして定義します。
通常のdef
関数を使用している場合、upload_file.file
属性を使用して、生の標準的なPythonファイル(ブロッキング、非同期ではない)にアクセスできます。これは非同期コードには便利であり、必要です。
リクエストファイルに関するFastAPIドキュメントで詳細をご覧ください。
例¶
from typing import Annotated
from fastapi import FastAPI, File, UploadFile
app = FastAPI()
@app.post("/files/")
async def create_file(file: Annotated[bytes, File()]):
return {"file_size": len(file)}
@app.post("/uploadfile/")
async def create_upload_file(file: UploadFile):
return {"filename": file.filename}
パラメータ | 説明 |
---|---|
file
|
型: |
size
|
型: |
filename
|
型: |
headers
|
型: |
starlette/datastructures.py
のソースコード
414 415 416 417 418 419 420 421 422 423 424 425 |
|
read 非同期
¶
read(size=-1)
ファイルからバイトを読み取る。
非同期と互換性のある awaitable にするために、これはスレッドプールで実行されます。
パラメータ | 説明 |
---|---|
size
|
ファイルから読み取るバイト数。
型: |
fastapi/datastructures.py
のソースコード
95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 |
|
write async
¶
write(data)
ファイルにバイトデータを書き込みます。
通常、リクエストで読み込んだファイルに対してこのメソッドを使用することはありません。
非同期と互換性のある awaitable にするために、これはスレッドプールで実行されます。
パラメータ | 説明 |
---|---|
data
|
ファイルに書き込むバイトデータ。
型: |
fastapi/datastructures.py
のソースコード
75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 |
|
seek async
¶
seek(offset)
ファイル内の位置を移動します。
次の読み込みまたは書き込み操作は、その位置から実行されます。
非同期と互換性のある awaitable にするために、これはスレッドプールで実行されます。
パラメータ | 説明 |
---|---|
offset
|
ファイル内で移動する位置(バイト単位)。
型: |
fastapi/datastructures.py
のソースコード
113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 |
|
close async
¶
close()
ファイルを閉じます。
非同期と互換性のある awaitable にするために、これはスレッドプールで実行されます。
fastapi/datastructures.py
のソースコード
133 134 135 136 137 138 139 |
|