FastAPI 学习之路(十八)表单与文件
2023-03-15 22:52:13 时间
系列文章:
FastAPI 学习之路(一)fastapi--高性能web开发框架
FastAPI 学习之路(十二)接口几个额外信息和额外数据类型
FastAPI 学习之路(十三)Cookie 参数,Header参数
我们首先要安装表单或者文件处理的依赖
pip install python-multipart
我们去实现下上传和form表单的组合使用
from fastapi import FastAPI, File, Form, UploadFile app = FastAPI() @app.post("/files/") async def create_file( file: bytes = File(...), one: UploadFile = File(...), token: str = Form(...) ): return { "filesize": len(file), "token": token, "one_content_type": one.content_type, }
我们去看下接口请求试试。
声明文件可以使用 bytes
或 UploadFile
。可在一个路径操作中声明多个 File 与 Form 参数,但不能同时声明要接收 JSON 的 Body 字段。因为此时请求体的编码为 multipart/form-data
当然我们也可以上传多个文件,实现也很简单。代码如下
from fastapi import FastAPI, File, Form, UploadFile from typing import List app = FastAPI() @app.post("/files/") async def create_file( file: bytes = File(...), one: List[UploadFile] = File(...), token: str = Form(...) ): return { "filesize": len(file), "token": token, "one_content_type": [file.content_type for file in one], }
我们看下测试结果
多个文件上传也是可以的,也是简单的。
文章首发在公众号,欢迎关注。
相关文章
- 淘汰的iPhone怎么处理最划算?原来不止能用来换脸盆
- 腾讯 QQ 宣布推出关怀模式:字体放大,功能简化
- 手机型号中的K、P、Z、R系列都是啥意思?命名繁多,很容易搞晕人
- 微软Skype即将迎来重大升级:带来快速、有趣、愉悦和流畅的体验
- iPhone 13用户如何选择4G、5G套餐?一文看懂
- 你的手机在哪里买的?实体店还是电商平台,二者区别很大
- 华为5G手机回归,但供货量或许很有限
- 为了保护账号安全,微软邀你删了密码
- QQ可直接打开淘宝、抖音链接:外链屏蔽逐步解除
- 腾讯实战案例!QQ圆梦表情设计复盘
- ToB新视角:小程序生态评估方法探索
- 7月份国内高端手机市场苹果竟然占据了63%,但我很期待8月的成绩
- 腾讯QQ更新!上线“美体”功能 小姐姐实测:秒变大长腿
- 针对用户操作失误,如何给产品的体验加分?
- 腾讯出品!手机银行适老化设计探索(附超多干货)
- 腾讯内测曝光,刷手支付来了?业内专家:应用前景不乐观
- 腾讯出品!7 种人机交互设计模型科普
- 新版 iOS/iPadOS 15 开发工具优先考虑 5G 而非 Wi-Fi
- 上线不足半月!腾讯“小借条”功能遭举报:涉嫌不正当竞争
- 为什么手机越来越贵了?