引言:
最近工作中有机会接触FastAPI这个框架,所以就把官方文档看了一遍,对框架的各个特性及使用方法做了总结,会逐步的发出来,希望对您有用。
如果您之前接触过python的其他框架,看起来会非常简单和顺畅,其实就是很简单。
【上一篇】:【FastAPI基础】17.1、接入FastFdfs文件服务器操作文件,附源码
【下一篇】:
【FastAPI搭建好的产品框架源码,直接上手】:【FastAPI搭建好的产品架构】,直接上手
您可以使用File同时定义文件和表单字段Form。
信息
- 要接收上载的文件和/或表单数据,请先安装python-multipart。
- 例如pip install python-multipart。
1、导入File和Form
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,
}
2、定义File和Form参数
创建文件和表单参数,你会为同样的方式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,
}
文件和表单字段将作为表单数据上载,您将收到文件和表单字段。
您可以将某些文件声明为bytes,另一些声明为UploadFile。
警告
- 您可以在路径操作中声明多个File和Form参数,但也不能声明希望以JSON形式接收的字段,因为请求的主体将使用而不是进行编码。Bodymultipart/form-dataapplication/json
- 这不是FastAPI的限制,它是HTTP协议的一部分。