需求:开发文件上传功能接口
接口路径:/files/
请求类型:post
响应结果:返回文件的大小(单位bytes)
实现方案:使用post类型处理方法,指定参数类型为bytes或UploadFile,使用File()方法处理数据
实现代码:
- 参数类型为bytes
from fastapi import FastAPI, File
@app.post("/files/")
async def create_file(file: bytes = File()):
return {"file_size": len(file)}
- 参数类型为UploadFile
from fastapi import FastAPI, File, UploadFile,Form
@app.post("/files/")
async def create_file(file: UploadFile = File()):
# 获取到文件的大小
file_size = len(await file.read())
return {"file_size": file_size}