W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
FastAPI 支持同時使用 File 和 Form 定義文件和表單字段。
說明
接收上傳文件或表單數(shù)據(jù),要預(yù)先安裝 python-multipart。
例如,pip install python-multipart。
from fastapi import FastAPI, File, Form, UploadFile
app = FastAPI()
@app.post("/files/")
async def create_file(
file: bytes = File(...), fileb: UploadFile = File(...), token: str = Form(...)
):
return {
"file_size": len(file),
"token": token,
"fileb_content_type": fileb.content_type,
}
創(chuàng)建文件和表單參數(shù)的方式與 Body 和 Query 一樣:
from fastapi import FastAPI, File, Form, UploadFile
app = FastAPI()
@app.post("/files/")
async def create_file(
file: bytes = File(...), fileb: UploadFile = File(...), token: str = Form(...)
):
return {
"file_size": len(file),
"token": token,
"fileb_content_type": fileb.content_type,
}
文件和表單字段作為表單數(shù)據(jù)上傳與接收。
聲明文件可以使用 bytes 或 UploadFile 。
警告
可在一個路徑操作中聲明多個 File 與 Form 參數(shù),但不能同時聲明要接收 JSON 的 Body 字段。因為此時請求體的編碼為 multipart/form-data,不是 application/json。
這不是 FastAPI 的問題,而是 HTTP 協(xié)議的規(guī)定。
在同一個請求中接收數(shù)據(jù)和文件時,應(yīng)同時使用 File 和 Form。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: