FastAPI 中如何使用 File 接收文件上传?

推荐答案

在 FastAPI 中,可以使用 FileUploadFile 来处理文件上传。以下是一个简单的示例:

在这个示例中,UploadFile 是一个特殊的类,用于处理文件上传。File(...) 表示这是一个必需的文件参数。

本题详细解读

1. 导入必要的模块

首先,需要从 fastapi 模块中导入 FastAPIFileUploadFile

2. 创建 FastAPI 应用实例

接下来,创建一个 FastAPI 应用实例:

3. 定义文件上传的路由

使用 @app.post 装饰器定义一个处理文件上传的路由。在这个路由中,file 参数的类型是 UploadFile,并且使用 File(...) 来表示这是一个必需的文件参数:

4. 处理上传的文件

在路由处理函数中,可以通过 file.filename 获取上传文件的文件名,并将其返回给客户端。

5. 运行应用

最后,使用 uvicorn 运行 FastAPI 应用:

6. 测试文件上传

可以使用 curl 或 Postman 等工具测试文件上传功能。例如,使用 curl 上传文件:

7. 返回结果

如果文件上传成功,服务器将返回上传文件的文件名:

通过这种方式,你可以在 FastAPI 中轻松处理文件上传。

纠错
反馈