如何使用 Flask 从 MySQL 数据库读取图片并返回给前端?
想要在 flask 中读取 mysql 数据库中的图片并返回给前端,需要执行以下步骤:
1. 在 mysql 中存储图片
首先,你需要将图片存储在 mysql 数据库中。可以使用 blob 数据类型来保存图片二进制数据。
2. 在 flask 中连接到数据库
使用 flask-sqlalchemy 或 sqlalchemy 直接连接到 mysql 数据库。
3. 执行 sql 查询
编写一个 sql 查询来获取图片数据,如下所示:
select image_data from table_name where id=1
4. 处理查询结果
执行查询后,你会得到一个元组类型的返回值。其中包含图像二进制数据。
5. 提取图像数据
从元组中提取图像二进制数据,如下所示:
row = mysql_t2.execute_query(sq1) if row == none: raise exception('...') image_bytes = row[0]
6. 返回给前端
使用 flask 的 send_file() 函数将图像二进制数据返回给前端。
return send_file(image_bytes, mime_type='...')
注意:
- execute_query() 函数返回一个元组类型,因此需要提取出图像二进制数据。
- 根据图片类型设置合适的 mime 类型,例如:image/png 或 image/jpeg。