发布于 2022-08-26 18:26:46 字数 260 浏览 15 评论 0

flask+mongoengine做一小站,model中使用FileField字段类型存储上传的图片到文档,该文档记录其它文本字段已经以{{ xx.字段 }}的形式显示在html模板页中,图片该怎么显示呢?

img src={{ xx.图片字段 }}...>肯定不行,源码显示为:<GridFSProxy:%20018560.jpg> .net中的基本思路是建一个一般处理程序页,将流输出为图片,再作为src属性,flask或Python中没写过,有谁能指点一下?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

逆光飞翔i 2022-09-02 18:26:46

换种方式解决了,思路是:通过src="/img/{{xx.图片字段.grid_id}}/"
定义为一个公共View
通过传递过来的字符串objectid通过GridFS获取存储的实际图片,输出

from flask import Response
from bson.objectid import ObjectId
from mongoengine import *
app.route('/img/<oid>/')
def get_img(oid=None):
    if oid:
        proxy = GridFSProxy(grid_id=ObjectId(oid))
        return Response(proxy.read(),mimetype='image/jpeg')
云裳 2022-09-02 18:26:46

nginx+mongodbgridfs插件。不行么?

空城仅有旧梦在 2022-09-02 18:26:46
 <img src="data:image/jpeg;base64,{{xx.图片字段base64编码}}" />

其他编码和格式以此类推, 不过注意, 古老的浏览器不支持这种方式.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文