python - 将图像传递给 python FastAPI api 端点
问题描述
我对 apis 很陌生,我有一个问题。我想用它来传递图像并处理它。我认为将其更改为 base64 会有所帮助,我只需将字符串传递给端点。但问题是,在 base64 字符串中,有 '/' 符号会破坏我的网址。有什么想法可以解决它,或者有什么更好的想法吗?
代码很简单:
app = FastAPI()
@app.get("/get_predictions/{base64_str}")
def get_predictions(base64_str: str):
return get_model_predictions(base64_str)
get_model_predictions 只处理图像并返回它必须返回的内容
解决方案
您可以使用 UploadFile 将文件传递到您的端点。
这是一个例子:
from fastapi import FastAPI, File, UploadFile
@app.post("/uploadfile/")
async def create_upload_file(file: UploadFile = File(...)):
return {"filename": file.filename}
请注意,在我的示例中,我使用的是 POST 方法而不是 GET。我允许自己为您提供 POST 解决方案,因为您说您想“传递”图像,所以这是通过 POST 路由而不是 GET 完成的
您可以通过查看文档的这一部分了解更多信息: https ://fastapi.tiangolo.com/tutorial/request-files/
推荐阅读
- python - Cython:优化原生 Python 内存视图
- python - 使用 Python 查询多个文本文件以合并列并显示输出
- javascript - “var now = +new Date()”在javascript中做了什么
- python - 根据为 value_counts 指定的 bin 对另一列执行聚合
- postgresql - 允许您在 SELECT 语句中引用别名列的 PostgreSQL 函数是什么?
- android - 在 Scroll Android 上加载更多项目
- c# - c# 中单数(浮点数)乘法的意外结果
- r - Knitr/Pandoc 转换为 PDF 失败,出现“找不到图像”错误
- scala - 使用 Scala 将 Bigquery 数据(使用 SQL)导入 S3
- c# - 多态性和依赖注入,如何在不实例化的情况下选择子类