【发布时间】:2021-05-16 13:56:06
【问题描述】:
我正在使用 FastAPI 创建一个应用程序,该应用程序应该生成已上传图像的调整大小版本。上传应该通过 POST/images 完成,在调用路径 /images/800x400 后,它应该显示来自数据库的随机图像,大小为 800x400。 我在尝试显示图像时遇到错误。
from fastapi.responses import FileResponse
import uuid
app = FastAPI()
db = []
@app.post("/images/")
async def create_upload_file(file: UploadFile = File(...)):
contents = await file.read()
db.append(file)
with open(file.filename, "wb") as f:
f.write(contents)
return {"filename": file.filename}
@app.get("/images/")
async def show_image():
return db[0]
作为回应,我得到:
{
"filename": "70188bdc-923c-4bd3-be15-8e71966cab31.jpg",
"content_type": "image/jpeg",
"file": {}
}
我想使用:return FileResponse(some_file_path) 并在文件路径中放置上面的文件名。这是正确的思维方式吗?
【问题讨论】:
-
请修正代码中的缩进
-
对不起,我没有意识到这里没有缩进。我编辑了它,现在它是我拥有的版本,它没有向我显示我需要的结果。如何使用 GET 方法显示通过 POST 上传的图像?