上传文件
-
上传小文件(File)
"""Request Files 单文件、多文件上传及参数详解""" from fastapi import APIRouter, status, Form, File, UploadFile, HTTPException @app02.post("/file") async def file_(file: bytes = File(...)): # 如果要上传多个文件 files: List[bytes] = File(...) """使用File类 文件内容会以bytes的形式读入内存 适合于上传小文件""" return {"file_size": len(file)} # 返回文件大小
- 上传一张图片
-
上传大文件(UploadFile)可以上传电影等大型文件
@app02.post("/upload_files") async def upload_files(files: List[UploadFile] = File(...)): # 如果要上传单个文件 file: UploadFile = File(...) """ 使用UploadFile类的优势: 1.文件存储在内存中,使用的内存达到阈值后,将被保存在磁盘中 2.适合于图片、视频大文件 3.可以获取上传的文件的元数据,如文件名,创建时间等 4.有文件对象的异步接口 5.上传的文件是Python文件对象,可以使用write(), read(), seek(), close()操作 """ for file in files: contents = await file.read() print(contents) return {"filename": files[0].filename, "content_type": files[0].content_type}
- 上传多张图片