请求表单与文件
说明
接收上传文件或表单数据,要预先安装 python-multipart。
创建文件和表单参数的方式与 Body
和 一样:
from fastapi import FastAPI, File, Form, UploadFile
@app.post("/files/")
async def create_file(
file: bytes = File(), fileb: UploadFile = File(), token: str = Form()
return {
"file_size": len(file),
"fileb_content_type": fileb.content_type,
}
文件和表单字段作为表单数据上传与接收。
警告
可在一个路径操作中声明多个 File
与 Form
参数,但不能同时声明要接收 JSON 的 Body
字段。因为此时请求体的编码为 multipart/form-data
,不是 application/json
。
在同一个请求中接收数据和文件时,应同时使用 File
和 Form
。