【发布时间】:2018-04-12 11:29:29
【问题描述】:
我有以下型号。我成功地将数据插入 mysql 数据库,但无法在索引页面中显示图像。如何在模板中将来自 mysql 的 LargeBinary 对象显示为图像?
class ginfo(db.Model):
id=db.Column(db.Integer,primary_key=True)
name=db.Column(db.String(20))
comment=db.Column(db.String(1000))
picdata=db.Column(db.LargeBinary)
我从页面中得到的变量为:
name=request.form['name']
comment=request.form['comment']
file=request.files['inputFile']
然后将数据插入到 mysql 中:
signature=ginfo(name=name,comment=comment,picdata=file.read())
db.session.add(signature)
db.session.commit()
我使用 :
查询整个行和列 result=ginfo.query.all()
return render_template('index.html',result=result)
我试图将数据显示如下:
{%for r in result%}
<div class="page-header">
<h1>{{r.name}}</h1>
</div>
<div class="well">
<p>{{r.comment}}</p>
</div>
<img src={base64.decodestring(r.picdata)}/>
{%endfor%}
【问题讨论】:
-
<img src引用了一个 URL,因此您可能需要另一个控制器来加载图像并照此提供它? -
您可以将图像保存在服务器的文件系统中。并将图像的路径存储在您的数据库中。
-
我更喜欢将文件保存到数据库中。谢谢