在FastAPI中实现文件上传功能非常简单。可以通过使用File
类型的参数来接收上传的文件,并使用UploadFile
类来处理文件。
下面是一个简单的示例代码:
from fastapi import FastAPI, File, UploadFile
app = FastAPI()
@app.post("/uploadfile/")
async def create_upload_file(file: UploadFile = File(...)):
with open(f"uploaded_files/{file.filename}", "wb") as f:
f.write(file.file.read())
return {"filename": file.filename}
在上面的示例中,我们定义了一个create_upload_file
路由,它接收一个file
参数,类型为UploadFile
,使用File
装饰器。当客户端发送一个POST请求到/uploadfile/
路由时,将会上传一个文件,并保存到uploaded_files
目录下。
注意:
UploadFile
类包含了文件的元数据,如文件名、文件大小等信息。file.file.read()
方法用于读取文件内容。