FastAPI를 사용하여 파일을 업로드하는 방법은 무엇입니까?
문제:
FastAPI를 사용하여 파일을 업로드할 때 공식 문서에는 file2store 변수가 남아 있습니다. 비어 있습니다.
원인:
솔루션:
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}"}
Async의 대안 엔드포인트:
@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 중국어 웹사이트의 기타 관련 기사를 참조하세요!