flask - <img src如何指向并一个mongodb 的图片字段?

浏览:45日期:2023-07-15

问题描述

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

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

问题解答

回答1:

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

from flask import Responsefrom bson.objectid import ObjectIdfrom 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’)回答2:

nginx+mongodbgridfs插件。不行么?

回答3:

<img src='data:image/jpeg;base64,{{xx.图片字段base64编码}}' />

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

相关文章: