FastAPI开发文档教程-请求表单与文件

admin 2026-01-10 10:54:22 编程 来源:ZONE.CI 全球网 0 阅读模式
  • 导入 FileForm
  • 定义 FileForm 参数
  • 小结

    FastAPI 支持同时使用 FileForm 定义文件和表单字段。

    接收上传文件或表单数据,要预先安装 python-multipart

    例如,pip install python-multipart

    导入 FileForm

    1. from fastapi import FastAPI, File, Form, UploadFile
    2. app = FastAPI()
    3. @app.post("/files/")
    4. async def create_file(
    5. file: bytes = File(), fileb: UploadFile = File(), token: str = Form()
    6. ):
    7. return {
    8. "file_size": len(file),
    9. "token": token,
    10. "fileb_content_type": fileb.content_type,
    11. }

    定义 FileForm 参数

    创建文件和表单参数的方式与 BodyQuery 一样:

    1. from fastapi import FastAPI, File, Form, UploadFile
    2. app = FastAPI()
    3. @app.post("/files/")
    4. async def create_file(
    5. file: bytes = File(), fileb: UploadFile = File(), token: str = Form() ):
    6. return {
    7. "file_size": len(file),
    8. "token": token,
    9. "fileb_content_type": fileb.content_type,
    10. }

    文件和表单字段作为表单数据上传与接收。

    声明文件可以使用 bytesUploadFile

    警告

    可在一个路径操作中声明多个 FileForm 参数,但不能同时声明要接收 JSON 的 Body 字段。因为此时请求体的编码为 multipart/form-data,不是 application/json

    这不是 FastAPI 的问题,而是 HTTP 协议的规定。

    小结

    在同一个请求中接收数据和文件时,应同时使用 FileForm

    FastAPI开发文档教程-响应状态码 编程

    FastAPI开发文档教程-响应状态码

    关于 HTTP 状态码状态码名称快捷方式更改默认状态码与指定响应模型的方式相同,在以下任意路径操作中,可以使用 status_code 参数声明用于响应的 HTTP 状态码:@app.get()@ap
    FastAPI开发文档教程-表单数据 编程

    FastAPI开发文档教程-表单数据

    导入 Form定义 Form 参数关于 “表单字段”小结接收的不是 JSON,而是表单字段时,要使用 Form。要使用表单,需预先安装 python-multipart。例如,pip install
    评论:0   参与:  0