首页 > 其他分享 >FastAPI系列:上传文件File和UploadFile

FastAPI系列:上传文件File和UploadFile

时间:2024-02-28 17:59:04浏览次数:34  
标签:文件 return File UploadFile FastAPI file 上传

上传文件

# file仅适用于小文件
@app.post("/files/")
async def create_file(file: bytes | None = File(default=None)):
    if not file:
        return {"message": "No file sent"}
    else:
        return {"file_size": len(file)}


# UploadFile仅适用于异步函数
@app.post("/uploadfile/")
async def create_upload_file(file: UploadFile = File(...)): # 上传的文件名key必须叫file
    if not file:
        return {"message": "No upload file sent"}
    else:
        return {"filename": file.filename}
    
# UploadFile相关异步方法 
write(data) 把data(str或bytes)写入文件
read(size) 按指定数量的字节或字符(size(int))读取文件内容
seek(offset) 移动至文件Offset(int) 字节处的位置
close() 关闭文件

标签:文件,return,File,UploadFile,FastAPI,file,上传
From: https://www.cnblogs.com/weiweivip666/p/18041254

相关文章

  • FastAPI系列:路径参数额外校验Path
    路径参数额外校验PathfromfastapiimportPathapp=FastAPI()@app.get('/items/{item_id}')asyncdefread_items(item_id:str=Path(default=None,max_length=3,min_length=1,title='theidofitemtoget')):"""def......
  • FastAPI系列:查询字符串参数
    单个查询字符串@app.get('/index/{username}')defindex(username:str,id:int):#id为查询字符串?id=5return{"message":"success","username":username,"id":id}可选的查询字符串参数@app.get('/items/{item_id}......
  • FastAPI系列:APIRouter实例的路由注册
    APIRouter实例的路由注册API端点路由注册大致分为3种:1.基于app实例对象提供的装饰器或函数进行注册2.基于FastAPI提供的APIRouter类的实例对象提供的装饰器或函数进行注册3.通过直接实例化APIRoute对象且添加的方式进行注册路由注册方式基于APIRouter的实例对象实现路由注册......
  • FastAPI系列:mount应用挂载
    mount应用挂载1.创建主app应用对象实例,注册所属的路由信息fromfastapiimportFastAPIfromfastapi.responseimportJSONResponseapp=FastAPI(title='主应用',description='主应用描述',version='v1.0.0')@app.get('/index',summary='首页')......
  • FastAPI系列:全局routes参数的使用
    全局routes参数的使用fromfastapiimportFastAPI,Requestfromfastapi.responseimportJSONResponsefromfastapi.routingimportAPIRouteasyncdeffastapi_index():returnJSONResponse({'index':'fastapi_index'})asyncdeffastapi_about()......
  • FastAPI系列:路由之节点元数据参数说明
    节点元数据参数说明#拿app.get()方法的参数来说明,其他的差不多类似defget(self,path:str,*,response_model:Optional[Type[Any]]=None,status_code:Optional[int]=None,tags:Optional[List[Union[str,Enum]]]......
  • FastAPI系列:路由之APIRouter参数介绍
    APIRouter参数介绍classAPIRouter(routing.Router):def__init__(self,*,prefix:str="",#表示当前路由分组的url前缀tags:Optional[List[Union[str,Enum]]]=None,#表示当前路由分组在可交互文档中所属的分组标签列表。一......
  • FastAPI系列 :安装启动及简单示例
    安装pip3installfastapipip3installuvicorn[standard]#是一个ASGI异步服务器网关接口服务器框架pip3installpython-multipart#处理表单参数的#完整安装pipinstallfastapi[all]启动程序#命令行启动uvicornmain:app--reload--host0.0.0.0--port8888......
  • FastAPI系统:FastAPI类参数说明
    FastAPI类参数说明def__init__(self,*,debug:bool=False,#是否启动调试模式routes:Optional[List[BaseRoute]]=None,#自定义路由列表title:str="FastAPI",#api文档的标题description:str="",#api文档的描述version:st......
  • makefile
    makefile的三要素:目标:要生成的目标文件依赖:目标文件由哪些文件生成命令:通过执行命令由依赖文件生成目标规则:目标:依赖<Tab>命令 执行make指令,默认是生成第一个目标原理:1.当依赖文件不存在,如果有的依赖文件不存在,则向下搜索规则,看是否有生成......