python 解決flask 圖片在線瀏覽或者直接下載的問題
目前是把圖片存在mongodb數(shù)據(jù)庫,實現(xiàn)一個方法,比如 訪問 /get_pic/ID 能實現(xiàn)圖片在瀏覽器打開,添加了一個狀態(tài),比如?filename=1.png,實現(xiàn)圖片直接下載,
需要在讀取圖片函數(shù)中,給response 加上headers:
在 flask 中
response=make_response(f.read())
需要下載就添加以下headers
當(dāng)filename為中文時會報asicc編解碼錯誤,
此時,import urllib (py3)
filename=urllib.parse.quote(filename) 用該函數(shù)進行編碼,
response.headers['Content-Type'] = 'application/octet-stream' response.headers['Content-Disposition'] = 'attachment;filename="{0}"'.format(filename)
return response
如讓瀏覽器能緩存該圖片需要添加以下設(shè)置
response.last_modified = 資源上次修改時間 response.set_etag(etag) response.expires = 過期時間(好像只有這個就可以生效)
以上這篇python 解決flask 圖片在線瀏覽或者直接下載的問題就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python Numpy學(xué)習(xí)之索引及切片的使用方法
數(shù)組中的元素可以通過索引以及切片的手段進行訪問或者修改,和列表的切片操作一樣。本文將詳細(xì)為大家介紹一下Python中的科學(xué)計算庫-Numpy的索引及切片的使用方法2022-01-01用python生成mysql數(shù)據(jù)庫結(jié)構(gòu)文檔
大家好,本篇文章主要講的是用python生成mysql數(shù)據(jù)庫結(jié)構(gòu)文檔,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下2022-01-01Keras模型轉(zhuǎn)成tensorflow的.pb操作
這篇文章主要介紹了Keras模型轉(zhuǎn)成tensorflow的.pb操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-07-07PyQt5?python?數(shù)據(jù)庫?表格動態(tài)增刪改詳情
這篇文章主要介紹了PyQt5?python?數(shù)據(jù)庫?表格動態(tài)增刪改詳情,首先手動連接數(shù)據(jù)庫與下一個的程序連接數(shù)據(jù)庫是獨立的2個部分,下面來看看文章的詳細(xì)介紹2022-01-01