在FastAPI中實現文件上傳功能非常簡單。可以通過使用File
類型的參數來接收上傳的文件,并使用UploadFile
類來處理文件。
下面是一個簡單的示例代碼:
from fastapi import FastAPI, File, UploadFile
app = FastAPI()
@app.post("/uploadfile/")
async def create_upload_file(file: UploadFile = File(...)):
with open(f"uploaded_files/{file.filename}", "wb") as f:
f.write(file.file.read())
return {"filename": file.filename}
在上面的示例中,我們定義了一個create_upload_file
路由,它接收一個file
參數,類型為UploadFile
,使用File
裝飾器。當客戶端發送一個POST請求到/uploadfile/
路由時,將會上傳一個文件,并保存到uploaded_files
目錄下。
注意:
UploadFile
類包含了文件的元數據,如文件名、文件大小等信息。file.file.read()
方法用于讀取文件內容。