python 解決flask 圖片在線(xiàn)瀏覽或者直接下載的問(wèn)題
目前是把圖片存在mongodb數(shù)據(jù)庫(kù),實(shí)現(xiàn)一個(gè)方法,比如 訪問(wèn) /get_pic/ID 能實(shí)現(xiàn)圖片在瀏覽器打開(kāi),添加了一個(gè)狀態(tài),比如?filename=1.png,實(shí)現(xiàn)圖片直接下載,
需要在讀取圖片函數(shù)中,給response 加上headers:
在 flask 中
response=make_response(f.read())
需要下載就添加以下headers
當(dāng)filename為中文時(shí)會(huì)報(bào)asicc編解碼錯(cuò)誤,
此時(shí),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 = 資源上次修改時(shí)間 response.set_etag(etag) response.expires = 過(guò)期時(shí)間(好像只有這個(gè)就可以生效)
以上這篇python 解決flask 圖片在線(xiàn)瀏覽或者直接下載的問(wèn)題就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- 基于python和flask實(shí)現(xiàn)http接口過(guò)程解析
- Python Flask微信小程序登錄流程及登錄api實(shí)現(xiàn)代碼
- Python flask框架實(shí)現(xiàn)查詢(xún)數(shù)據(jù)庫(kù)并顯示數(shù)據(jù)
- Python如何通過(guò)Flask-Mail發(fā)送電子郵件
- 使用 prometheus python 庫(kù)編寫(xiě)自定義指標(biāo)的方法(完整代碼)
- 使用Python和Prometheus跟蹤天氣的使用方法
- 使用Python編寫(xiě)Prometheus監(jiān)控的方法
- 如何基于Python和Flask編寫(xiě)Prometheus監(jiān)控
相關(guān)文章
Python實(shí)現(xiàn)生活常識(shí)解答機(jī)器人
今天教大家如何用Python爬蟲(chóng)去搭建一個(gè)「生活常識(shí)解答」機(jī)器人.思路:這個(gè)機(jī)器人主要是依托于“阿里達(dá)摩院發(fā)布的語(yǔ)言模型PLUG”,通過(guò)爬蟲(chóng)的方式,發(fā)送post請(qǐng)求(提問(wèn)),然后返回json數(shù)據(jù)(回答),需要的朋友可以參考下2021-06-06python中繞過(guò)反爬蟲(chóng)的方法總結(jié)
在本篇文章里小編給大家整理的是一篇關(guān)于python中繞過(guò)反爬蟲(chóng)的方法總結(jié)內(nèi)容,需要的朋友們可以參考下。2020-11-11Python新手必讀bytearray對(duì)象使用技巧掌握
Python中的bytearray是一個(gè)可變序列,通常用于存儲(chǔ)二進(jìn)制數(shù)據(jù),它允許在不創(chuàng)建新的對(duì)象的情況下就地修改數(shù)據(jù),非常適用于處理字節(jié)數(shù)據(jù),本文將深入學(xué)習(xí)bytearray對(duì)象的使用,包括創(chuàng)建、修改、切片和常見(jiàn)應(yīng)用場(chǎng)景2023-12-12Python Numpy學(xué)習(xí)之索引及切片的使用方法
數(shù)組中的元素可以通過(guò)索引以及切片的手段進(jìn)行訪問(wèn)或者修改,和列表的切片操作一樣。本文將詳細(xì)為大家介紹一下Python中的科學(xué)計(jì)算庫(kù)-Numpy的索引及切片的使用方法2022-01-01用python生成mysql數(shù)據(jù)庫(kù)結(jié)構(gòu)文檔
大家好,本篇文章主要講的是用python生成mysql數(shù)據(jù)庫(kù)結(jié)構(gòu)文檔,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話(huà)記得收藏一下2022-01-01Keras模型轉(zhuǎn)成tensorflow的.pb操作
這篇文章主要介紹了Keras模型轉(zhuǎn)成tensorflow的.pb操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-07-07PyQt5?python?數(shù)據(jù)庫(kù)?表格動(dòng)態(tài)增刪改詳情
這篇文章主要介紹了PyQt5?python?數(shù)據(jù)庫(kù)?表格動(dòng)態(tài)增刪改詳情,首先手動(dòng)連接數(shù)據(jù)庫(kù)與下一個(gè)的程序連接數(shù)據(jù)庫(kù)是獨(dú)立的2個(gè)部分,下面來(lái)看看文章的詳細(xì)介紹2022-01-01