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 相关文章推荐
rhythmbox中文名乱码问题解决方法
Sep 06 Python
在Django的视图中使用数据库查询的方法
Jul 16 Python
Python urls.py的三种配置写法实例详解
Apr 28 Python
Python Learning 列表的更多操作及示例代码
Aug 22 Python
python多任务及返回值的处理方法
Jan 22 Python
tesserocr与pytesseract模块的使用方法解析
Aug 30 Python
解决pytorch DataLoader num_workers出现的问题
Jan 14 Python
解决Pytorch自定义层出现多Variable共享内存错误问题
Jun 28 Python
Keras中 ImageDataGenerator函数的参数用法
Jul 03 Python
python3爬虫中异步协程的用法
Jul 10 Python
Idea安装python显示无SDK问题解决方案
Aug 12 Python
python中pop()函数的语法与实例
Dec 01 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抽象类使用要点与注意事项分析
2015/02/09 PHP
php实现网站文件批量压缩下载功能
2015/10/28 PHP
微信支付的开发流程详解
2016/09/13 PHP
浅谈PHP进程管理
2019/03/08 PHP
sina的lightbox效果。
2007/01/09 Javascript
js修改input的type属性问题探讨
2013/10/12 Javascript
兼容FF和IE的动态table示例自写
2013/10/21 Javascript
js实现在字符串中提取数字
2013/11/05 Javascript
jQuery中bind与live的用法及区别小结
2014/01/27 Javascript
Nodejs学习笔记之测试驱动
2015/04/16 NodeJs
jQuery on()绑定动态元素出现的问题小结
2016/02/19 Javascript
JS用斜率判断鼠标进入DIV四个方向的方法
2016/11/07 Javascript
Node.JS中快速扫描端口并发现局域网内的Web服务器地址(80)
2017/09/18 Javascript
使用JavaScript实现在页面中显示距离2017年中秋节的天数
2017/09/26 Javascript
mui框架移动开发初体验详解
2017/10/11 Javascript
vue项目中在可编辑div光标位置插入内容的实现代码
2020/01/07 Javascript
原生js无缝轮播插件使用详解
2020/03/09 Javascript
ant-design-vue中tree增删改的操作方法
2020/11/03 Javascript
[47:38]Optic vs VGJ.S 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/20 DOTA
python打开文件并获取文件相关属性的方法
2015/04/23 Python
Python字符串、元组、列表、字典互相转换的方法
2016/01/23 Python
python实现SMTP邮件发送功能
2020/06/16 Python
浅谈python中的变量默认是什么类型
2016/09/11 Python
Python编程之变量赋值操作实例分析
2017/07/24 Python
对django中foreignkey的简单使用详解
2019/07/28 Python
python redis 批量设置过期key过程解析
2019/11/26 Python
Django Admin 上传文件到七牛云的示例代码
2020/06/20 Python
python 装饰器的实际作用有哪些
2020/09/07 Python
Python jieba结巴分词原理及用法解析
2020/11/05 Python
浅谈html5之sse服务器发送事件EventSource介绍
2017/08/28 HTML / CSS
《风筝》教学反思
2014/04/10 职场文书
服务行业口号
2014/06/11 职场文书
企业领导对照检查材料
2014/08/20 职场文书
夫妻双方自愿离婚协议书
2014/10/24 职场文书
教师师德表现自我评价
2015/03/05 职场文书
2019年中,最受大众欢迎的6本新书
2019/08/07 职场文书