python 解决flask 图片在线浏览或者直接下载的问题


Posted in Python onJanuary 09, 2020

目前是把图片存在mongodb数据库,实现一个方法,比如 访问 /get_pic/ID 能实现图片在浏览器打开,添加了一个状态,比如?filename=1.png,实现图片直接下载,

需要在读取图片函数中,给response 加上headers:

在 flask 中

response=make_response(f.read())

需要下载就添加以下headers

当filename为中文时会报asicc编解码错误,

此时,import urllib (py3)

filename=urllib.parse.quote(filename) 用该函数进行编码,

response.headers['Content-Type'] = 'application/octet-stream'
response.headers['Content-Disposition'] = 'attachment;filename="{0}"'.format(filename)
return response

如让浏览器能缓存该图片需要添加以下设置

response.last_modified = 资源上次修改时间
response.set_etag(etag)
response.expires = 过期时间(好像只有这个就可以生效)

以上这篇python 解决flask 图片在线浏览或者直接下载的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python SQLite3数据库操作类分享
Jun 10 Python
在Python中使用全局日志时需要注意的问题
May 06 Python
django用户注册、登录、注销和用户扩展的示例
Mar 19 Python
Python将一个CSV文件里的数据追加到另一个CSV文件的方法
Jul 04 Python
python用BeautifulSoup库简单爬虫实例分析
Jul 30 Python
Python设计模式之观察者模式原理与用法详解
Jan 16 Python
Python中文编码知识点
Feb 18 Python
python应用文件读取与登录注册功能
Sep 23 Python
Python要如何实现列表排序的几种方法
Feb 21 Python
opencv python 对指针仪表读数识别的两种方式
Jan 14 Python
详解python3类型注释annotations实用案例
Jan 20 Python
Pygame Time时间控制的具体使用详解
Nov 17 Python
Django密码存储策略分析
Jan 09 #Python
python 实现Flask中返回图片流给前端展示
Jan 09 #Python
Python注释、分支结构、循环结构、伪“选择结构”用法实例分析
Jan 09 #Python
python将图片转base64,实现前端显示
Jan 09 #Python
Python 解码Base64 得到码流格式文本实例
Jan 09 #Python
Python变量、数据类型、数据类型转换相关函数用法实例详解
Jan 09 #Python
Python+OpenCV实现旋转文本校正方式
Jan 09 #Python
You might like
一段实用的php验证码函数
2016/05/19 PHP
windows下的WAMP环境搭建图文教程(推荐)
2017/07/27 PHP
实例讲解PHP验证邮箱是否合格
2019/01/28 PHP
获取css样式表内样式的js函数currentStyle(IE),defaultView(FF)
2011/02/14 Javascript
使用jquery实现IE下按backspace相当于返回操作
2014/03/18 Javascript
window.onload与$(document).ready()的区别分析
2015/05/30 Javascript
javascript中加var和不加var的区别 你真的懂吗
2016/01/06 Javascript
Vuejs第一篇之入门教程详解(单向绑定、双向绑定、列表渲染、响应函数)
2016/09/09 Javascript
原生js实现选项卡功能
2017/03/08 Javascript
微信小程序微信支付接入开发实例详解
2017/04/12 Javascript
微信小程序使用wxParse解析html的实现示例
2018/08/30 Javascript
React手稿之 React-Saga的详解
2018/11/12 Javascript
Vue.js实现备忘录功能
2019/06/26 Javascript
JavaScript基于面向对象实现的无缝滚动轮播示例
2020/01/17 Javascript
Node.js操作MongoDB数据库实例分析
2020/01/19 Javascript
[06:45]DOTA2-DPC中国联赛 正赛 Magma vs LBZS 选手采访
2021/03/11 DOTA
python实现隐马尔科夫模型HMM
2018/03/25 Python
python中类的属性和方法介绍
2018/11/27 Python
在python环境下运用kafka对数据进行实时传输的方法
2018/12/27 Python
django fernet fields字段加密实践详解
2019/08/12 Python
关于numpy中eye和identity的区别详解
2019/11/29 Python
python实现输入三角形边长自动作图求面积案例
2020/04/12 Python
Python selenium环境搭建实现过程解析
2020/09/08 Python
python中remove函数的踩坑记录
2021/01/04 Python
Java语言的优势
2015/01/10 面试题
人力资源管理专业毕业生推荐信
2013/11/07 职场文书
简单英文演讲稿
2014/01/01 职场文书
幼儿园教研活动总结
2014/04/30 职场文书
大学生创业计划书怎么写
2014/09/15 职场文书
2014年妇幼卫生工作总结
2014/12/09 职场文书
北京故宫导游词
2015/01/31 职场文书
泰坦尼克号观后感
2015/06/04 职场文书
2015暑假社会调查报告
2015/07/13 职场文书
PostgreSQL将数据加载到buffer cache中操作方法
2021/04/16 PostgreSQL
MySQL千万级数据表的优化实战记录
2021/08/04 MySQL
Python内置数据结构列表与元组示例详解
2021/08/04 Python