在FastAPI中,你可以同时处理表单数据和上传的文件。以下是一个简单的FastAPI教程示例,演示如何在路由中同时处理表单数据和上传的文件:

首先,确保你已经安装了FastAPI和uvicorn:
pip install fastapi uvicorn

然后,创建一个名为main.py的文件,输入以下代码:
from fastapi import FastAPI, Form, UploadFile

app = FastAPI()

# 处理表单数据和上传的文件
@app.post("/create_user/")
async def create_user(username: str = Form(...), email: str = Form(...), file: UploadFile = File(...)):
    return {"username": username, "email": email, "filename": file.filename}

在这个例子中,我们定义了一个路由/create_user/,并在路由函数中使用了Form参数处理表单数据,同时使用了UploadFile参数处理上传的文件。

你可以使用[httpie](https://httpie.io/)或其他工具来测试这个API。以下是一个使用httpie的示例:
http --form POST "http://127.0.0.1:8000/create_user/" username="john_doe" email="john@example.com" file@/path/to/your/file.txt

在上面的命令中,我们向 /create_user/ 发送了一个POST请求,携带了两个表单字段(username和email)和一个文件字段。FastAPI将自动解析这些字段,并在响应中返回相应的信息。




转载请注明出处:http://www.pingtaimeng.com/article/detail/7378/FastAPI