UploadFile
クラス¶
リクエストからファイルを受け取るには、パス操作関数のパラメータをUploadFile
型として定義できます。
fastapi
から直接インポートできます。
from fastapi import UploadFile
fastapi.UploadFile ¶
UploadFile(file, *, size=None, filename=None, headers=None)
ベース: UploadFile
リクエストでアップロードされたファイル。
パス操作関数 (または依存関係) のパラメーターとして定義します。
通常の def
関数を使用している場合、upload_file.file
属性を使用して生の標準 Python ファイル (ブロッキング、非同期ではない) にアクセスできます。これは非同期ではないコードに役立ち、必要とされます。
FastAPI ドキュメントの Request Files で詳細をご覧ください。
例¶
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}
starlette/datastructures.py
のソースコード
414 415 416 417 418 419 420 421 422 423 424 425 |
|
read async
¶
read(size=-1)
ファイルからバイトを読み取ります。
await可能で非同期と互換性があるように、これはスレッドプールで実行されます。
パラメータ | 説明 |
---|---|
サイズ
|
ファイルから読み取るバイト数。
TYPE: |
fastapi/datastructures.py
のソースコード
95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 |
|
write async
¶
write(data)
ファイルにバイトを書き込みます。
通常、リクエストで読み込んだファイルからこれを使用することはありません。
await可能で非同期と互換性があるように、これはスレッドプールで実行されます。
パラメータ | 説明 |
---|---|
データ
|
ファイルに書き込むバイト。
TYPE: |
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)
ファイル内の位置に移動します。
次回の読み取りまたは書き込みは、その位置から行われます。
await可能で非同期と互換性があるように、これはスレッドプールで実行されます。
パラメータ | 説明 |
---|---|
オフセット
|
ファイル内でシークするバイト単位の位置。
TYPE: |
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()
ファイルを閉じます。
await可能で非同期と互換性があるように、これはスレッドプールで実行されます。
fastapi/datastructures.py
のソースコード
133 134 135 136 137 138 139 |
|