postgresql 如何在fastapi中上传和下载图像[重复]

ao218c7q  于 11个月前  发布在  PostgreSQL
关注(0)|答案(1)|浏览(193)

此问题在此处已有答案

FastAPI - How to upload file via form?(2个答案)
How to Download a File after POSTing data using FastAPI?(1个答案)
8天前关闭。
我正在开发一个基于FastAPI的Web应用程序,我需要用户上传图像的功能。我想将下载的图像保存到数据库中,以便将来可以访问它。如何实现此功能?
具体问题:
1.如何正确配置FastAPI以下载文件?
1.如何访问下载的文件并将其保存到数据库?
1.我应该使用什么类型的数据库字段来存储图像?
1.哪些标准库或第三方软件包可以使此过程更容易?
我已经看过FastAPI文档和各种示例,但我还没有找到关于加载图像并将其存储在数据库中的完整信息。我希望任何帮助或代码示例能帮助我解决这个问题。

icnyk63a

icnyk63a1#

如何正确配置FastAPI以下载文件?
我不知道你说的“正确配置”是什么意思。FastAPI已经内置了这样做的功能。快速搜索一下就会发现thisthis
如何访问下载的文件并将其保存到数据库?
为了演示的目的,我假设你使用的是postgres。

from fastapi import FastAPI, File, UploadFile
import psycopg2

app = FastAPI()
conn = psycopg2.connect("<conn string here>")

@app.route('/uploadfile')
async def create_upload_file(file: UploadFile):
    data = await file.read()
    cur = conn.cursor()
    cur.execute('INSERT INTO images (filename, filedata) VALUES (%s, %s)', (file.filename, data)) # filename is type text, filedata is type bytea

字符串
我应该使用什么类型的数据库字段来存储图像?
Postgres中的bytea。参见here
哪些标准库或第三方软件包可以使此过程更容易?
实际上,您只需要一个库就可以与数据库和FastAPI进行交互。

相关问题