Flask如何从MySQL数据库读取并返回图片?

flask如何从mysql数据库读取并返回图片?

Flask应用:从MySQL数据库获取并显示图片

本文介绍如何构建一个Flask接口,从MySQL数据库读取图片数据,并在前端展示。

问题描述:

如何使用Flask框架从MySQL数据库中读取图片数据,并将其以图片格式返回给前端?

代码示例及解决方案:

数据库连接和图片读取(假设数据库名为mydatabase,表名为my_table,图片字段名为image,id为1):

import mysql.connectorfrom flask import Flask, send_fileapp = Flask(__name__)mydb = mysql.connector.connect(    host="localhost",    user="root",    password="password",    database="mydatabase")mycursor = mydb.cursor()mycursor.execute("SELECT image FROM my_table WHERE id = 1")image_data = mycursor.fetchone()[0]mydb.close()@app.route('/get_image')def get_image():    return send_file(io.BytesIO(image_data), mimetype='image/jpeg')if __name__ == '__main__':    app.run(debug=True)

关键改进:

使用io.BytesIO: 将二进制图片数据包装成一个可供send_file函数处理的类文件对象。这避免了直接将二进制数据传递给send_file可能造成的错误。 需要导入io模块:import io关闭数据库连接: 在读取完图片数据后,显式地关闭数据库连接(mydb.close()),这是良好的数据库操作习惯。更清晰的代码结构: 将数据库连接和图片读取部分与Flask路由处理部分分开,使代码更易于理解和维护。错误处理 (可选): 可以添加错误处理机制,例如处理数据库连接失败或查询结果为空的情况。

这个改进后的代码能够正确地从MySQL数据库读取图片,并通过Flask接口返回给前端,前端可以使用Flask如何从MySQL数据库读取并返回图片?标签显示该图片。 请确保你的MySQL数据库已正确配置,并且image字段的类型为BLOB。 根据图片的实际类型,调整mimetype参数(例如image/png)。

以上就是Flask如何从MySQL数据库读取并返回图片?的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1357101.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月13日 20:25:31
下一篇 2025年12月13日 09:40:21

相关推荐

发表回复

登录后才能评论
关注微信