技术文摘
Flask 如何从 MySQL 数据库读取图片并返回给前端
2025-01-14 17:35:41 小编
Flask 如何从 MySQL 数据库读取图片并返回给前端
在 Web 开发中,常常需要从数据库中读取图片并展示给前端用户。Flask 作为一个轻量级的 Python Web 框架,与 MySQL 数据库结合可以高效地实现这一功能。下面将详细介绍具体的实现步骤。
确保安装了必要的库。Flask 框架是核心,通过 pip install flask 进行安装。还需要安装操作 MySQL 数据库的库,例如 mysql - connector - python,使用 pip install mysql - connector - python 即可完成安装。
接着,连接 MySQL 数据库。在 Python 代码中,使用如下方式:
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user="your_username",
password="your_password",
database="your_database"
)
在数据库中,图片数据通常以二进制形式存储。创建一个表来存储图片,示例代码如下:
CREATE TABLE images (
id INT AUTO_INCREMENT PRIMARY KEY,
image_data LONGBLOB
);
当需要从数据库读取图片时,编写如下查询语句:
mycursor = mydb.cursor()
mycursor.execute("SELECT image_data FROM images WHERE id = 1")
result = mycursor.fetchone()
if result:
image_data = result[0]
读取到图片数据后,在 Flask 应用中返回给前端。创建一个 Flask 应用并定义路由:
from flask import Flask, send_file
import io
app = Flask(__name__)
@app.route('/image')
def get_image():
mycursor = mydb.cursor()
mycursor.execute("SELECT image_data FROM images WHERE id = 1")
result = mycursor.fetchone()
if result:
image_data = result[0]
return send_file(
io.BytesIO(image_data),
mimetype='image/jpeg'
)
if __name__ == '__main__':
app.run(debug=True)
在上述代码中,send_file 函数将二进制图片数据作为文件发送给前端。通过指定 mimetype 为图片的类型,确保前端能正确识别和显示图片。
在前端页面,通过简单的 HTML 和 JavaScript 代码即可展示图片。例如:
<!DOCTYPE html>
<html>
<head>
<title>Display Image</title>
</head>
<body>
<img id="myImage" src="/image" alt="Image">
</body>
</html>
通过以上步骤,就实现了使用 Flask 从 MySQL 数据库读取图片并返回给前端展示的功能。这种方法在许多需要处理图片数据的 Web 应用场景中都非常实用。
- Win11开发人员模式无法启用
- Win11 提升窗口游戏性能的方法:性能设置技巧
- Win11 声卡驱动卸载后的恢复方法教程
- Win11 连接 Airpods 失败如何解决
- Win11 系统打开 Windows 终端的七种方式一览
- 如何设置 Win11 22000.593 的默认浏览器
- Win11 无法拖拽文件至任务栏的解决办法
- Win11 安装运行 Google Play 的方法:如何安装 Google Play
- Win11 摄像头与电脑禁用摄像头的方法
- 联想电脑升级 Win11 操作指南及图解
- Win11 电脑蓝屏显示需重启,如何应对?
- 电脑长时间处于“正在准备配置 Windows 请勿关闭计算机”状态的解决办法
- U盘装 Win11 提示所选磁盘为 GPT 分区无法安装怎么办
- Win11 访问局域网共享文件输入网络凭据的解决办法
- Win11 家庭版转专业版的方法:如何从家庭版升级到专业版