How to send file to fastapi endpoint using postman(如何使用邮递员将文件发送到 fastapi 端点)
问题描述
我遇到了使用 postman 测试 api 的困难.通过 swagger 文件上传功能正常工作,我在硬盘上保存了一个文件.我想了解如何与邮递员一起执行此操作.我使用标准方式来处理我在使用 Django、flask 时使用的文件.
I faced the difficulty of testing api using postman. Through swagger file upload functionality works correctly, I get a saved file on my hard disk. I would like to understand how to do this with the postman. I use the standard way to work with files which I use when working with Django, flask.
Body -> form-data: key=file, value=image.jpeg
但是使用 fast API,我得到一个错误
But with fast API, I get an error
127.0.0.1:54294 - "POST /uploadfile/ HTTP/1.1" 422 Unprocessable Entity
main.py
@app.post("/uploadfile/")
async def create_upload_file(file: UploadFile = File(...)):
img = await file.read()
if file.content_type not in ['image/jpeg', 'image/png']:
raise HTTPException(status_code=406, detail="Please upload only .jpeg files")
async with aiofiles.open(f"{file.filename}", "wb") as f:
await f.write(img)
return {"filename": file.filename}
我也试过 body ->二进制:image.jpeg .但得到了相同的结果
I also tried body -> binary: image.jpeg . But got the same result
推荐答案
我的代码:
from fastapi import FastAPI, UploadFile, File
app = FastAPI()
@app.post("/file/")
async def create_upload_file(file: UploadFile = File(...)):
return {"filename": file.filename}
在 Postman 中设置
Setup in Postman
如 https://github.com/tiangolo/fastapi/issues/1653,文件的参数名称是您必须使用的键值.在您使用 key=file 和 value=image.png (或其他)之前.相反,FastAPI 接受 file=image.png.因此错误,因为该文件是必需的,但它不存在(至少,具有该名称的键不存在).
As stated in https://github.com/tiangolo/fastapi/issues/1653, the parameter name for the file is the key value that you have to use. Before you were using key=file and value=image.png (or whatever). Instead, FastAPI accepts file=image.png. Thus the error, since the file is necessary, but it is not present (at least, the key with that name is not present).
附:我用 Postman v7.16.1 测试过
P.S. I tested it with Postman v7.16.1
这篇关于如何使用邮递员将文件发送到 fastapi 端点的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:如何使用邮递员将文件发送到 fastapi 端点
基础教程推荐
- PermissionError: pip 从 8.1.1 升级到 8.1.2 2022-01-01
- 求两个直方图的卷积 2022-01-01
- 包装空间模型 2022-01-01
- 在同一图形上绘制Bokeh的烛台和音量条 2022-01-01
- 使用大型矩阵时禁止 Pycharm 输出中的自动换行符 2022-01-01
- Plotly:如何设置绘图图形的样式,使其不显示缺失日期的间隙? 2022-01-01
- 在Python中从Azure BLOB存储中读取文件 2022-01-01
- PANDA VALUE_COUNTS包含GROUP BY之前的所有值 2022-01-01
- 无法导入 Pytorch [WinError 126] 找不到指定的模块 2022-01-01
- 修改列表中的数据帧不起作用 2022-01-01
