您可以使用文件定义客户端要上传的文件。

信息 要接收上传的文件,请首先安装python-multipart。 例如。 pip install python-multipart。 这是因为上载的文件作为“表单数据”发送。

导入File

  1. from fastapi import FastAPI, File, UploadFile

定义File参数

  1. from fastapi import FastAPI, File, UploadFile
  2. app = FastAPI()
  3. @app.post("/files/")
  4. async def create_file(file: bytes = File(...)):
  5. return {"file_size": len(file)}

这些文件将作为“表单数据”上传。
如果将路径操作函数参数的类型声明为字节,FastAPI将为您读取文件,并且您将接收内容(字节)。
请记住,这意味着全部内容将存储在内存中。这对于小文件将很好地工作。
但是在某些情况下,您可以从使用UploadFile中受益。

UploadFile下的File参数

  1. from fastapi import FastAPI, File, UploadFile
  2. app = FastAPI()
  3. @app.post("/files/")
  4. async def create_file(file: bytes = File(...)):
  5. return {"file_size": len(file)}
  6. @app.post("/uploadfile/")
  7. async def create_upload_file(file: UploadFile = File(...)):
  8. return {"filename": file.filename}