搜尋

首頁  >  問答  >  主體

flask - <img src如何指向並一個mongodb 的圖片欄位?

flask mongoengine做一小站,model中使用FileField字段類型存儲上傳的圖片到文檔,該文檔記錄其它文本字段已經以{{ xx.字段 }}的形式顯示在html模板頁中,圖片該怎麼顯示呢?

img src={{ xx.圖片字段 }}...>肯定不行,源碼顯示為:<GridFSProxy: 018560.jpg> .net中的基本思路是建一個一般處理程序頁,將流輸出為圖片,再作為src屬性,flask或Python中沒寫過,有誰能指點一下?

怪我咯怪我咯2799 天前798

全部回覆(3)我來回復

  • 迷茫

    迷茫2017-04-22 09:00:52

    換種方式解決了,想法是:透過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')
    

    回覆
    0
  • 迷茫

    迷茫2017-04-22 09:00:52

    nginx+mongodbgridfs插件。不行麼?

    回覆
    0
  • 高洛峰

    高洛峰2017-04-22 09:00:52

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

    其他編碼和格式以此類推, 不過注意, 古老的瀏覽器不支援這種方式.

    回覆
    0
  • 取消回覆