ホームページ >バックエンド開発 >Python チュートリアル >FastAPI での空のファイルのアップロードの問題を解決するには?
FastAPI を使用してファイルをアップロードする方法?
問題:
FastAPI を使用してファイルをアップロードする場合公式ドキュメントでは、file2store 変数はそのままです。 empty.
原因:
解決策:
app.py:
from fastapi import File, UploadFile @app.post("/create_file") def create_file(file: UploadFile = File(...)): try: contents = file.file.read() # store contents to the database except Exception: return {"message": "Error uploading file"} finally: file.file.close() return {"message": f"Successfully uploaded {file.filename}"}
非同期の代替エンドポイント:
@app.post("/create_file") async def create_file(file: UploadFile = File(...)): try: contents = await file.read() # store contents to the database except Exception: return {"message": "Error uploading file"} finally: await file.close() return {"message": f"Successfully uploaded {file.filename}"}
複数のファイルのアップロード:
from fastapi import File, UploadFile from typing import List @app.post("/upload") def upload(files: List[UploadFile] = File(...)): for file in files: try: contents = file.file.read() # store contents to the database except Exception: return {"message": "Error uploading file(s)"} finally: file.file.close() return {"message": f"Successfully uploaded {[file.filename for file in files]}"}
Python スクリプトからのリクエスト:
requests.post(url="SERVER_URL/create_file", files={"file": (f.name, f, "multipart/form-data")})
以上がFastAPI での空のファイルのアップロードの問題を解決するには?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。