python 解決flask 圖片在線瀏覽或者直接下載的問題
目前是把圖片存在mongodb數(shù)據(jù)庫,實(shí)現(xiàn)一個方法,比如 訪問 /get_pic/ID 能實(shí)現(xiàn)圖片在瀏覽器打開,添加了一個狀態(tài),比如?filename=1.png,實(shí)現(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ù)進(jìn)行編碼,
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)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
- 基于python和flask實(shí)現(xiàn)http接口過程解析
- Python Flask微信小程序登錄流程及登錄api實(shí)現(xiàn)代碼
- Python flask框架實(shí)現(xiàn)查詢數(shù)據(jù)庫并顯示數(shù)據(jù)
- Python如何通過Flask-Mail發(fā)送電子郵件
- 使用 prometheus python 庫編寫自定義指標(biāo)的方法(完整代碼)
- 使用Python和Prometheus跟蹤天氣的使用方法
- 使用Python編寫Prometheus監(jiān)控的方法
- 如何基于Python和Flask編寫Prometheus監(jiān)控
相關(guān)文章
Python實(shí)現(xiàn)生活常識解答機(jī)器人
今天教大家如何用Python爬蟲去搭建一個「生活常識解答」機(jī)器人.思路:這個機(jī)器人主要是依托于“阿里達(dá)摩院發(fā)布的語言模型PLUG”,通過爬蟲的方式,發(fā)送post請求(提問),然后返回json數(shù)據(jù)(回答),需要的朋友可以參考下2021-06-06
Python Numpy學(xué)習(xí)之索引及切片的使用方法
數(shù)組中的元素可以通過索引以及切片的手段進(jìn)行訪問或者修改,和列表的切片操作一樣。本文將詳細(xì)為大家介紹一下Python中的科學(xué)計算庫-Numpy的索引及切片的使用方法2022-01-01
用python生成mysql數(shù)據(jù)庫結(jié)構(gòu)文檔
大家好,本篇文章主要講的是用python生成mysql數(shù)據(jù)庫結(jié)構(gòu)文檔,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下2022-01-01
Keras模型轉(zhuǎn)成tensorflow的.pb操作
這篇文章主要介紹了Keras模型轉(zhuǎn)成tensorflow的.pb操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-07-07
PyQt5?python?數(shù)據(jù)庫?表格動態(tài)增刪改詳情
這篇文章主要介紹了PyQt5?python?數(shù)據(jù)庫?表格動態(tài)增刪改詳情,首先手動連接數(shù)據(jù)庫與下一個的程序連接數(shù)據(jù)庫是獨(dú)立的2個部分,下面來看看文章的詳細(xì)介紹2022-01-01

