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 del()函数用法
Mar 24 Python
Python with用法实例
Apr 14 Python
python搭建虚拟环境的步骤详解
Sep 27 Python
Python中xrange与yield的用法实例分析
Dec 26 Python
Python生成短uuid的方法实例详解
May 29 Python
Numpy中矩阵matrix读取一列的方法及数组和矩阵的相互转换实例
Jul 02 Python
python3.6利用pyinstall打包py为exe的操作实例
Oct 31 Python
Python常见的pandas用法demo示例
Mar 16 Python
Tensorflow tf.nn.atrous_conv2d如何实现空洞卷积的
Apr 20 Python
keras中的backend.clip用法
May 22 Python
Python实现将元组中的元素作为参数传入函数的操作
Jun 05 Python
解决keras GAN训练是loss不发生变化,accuracy一直为0.5的问题
Jul 02 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
第一个无线电台是由谁发明的
2021/03/01 无线电
用PHP实现多级树型菜单
2006/10/09 PHP
phpmyadmin 常用选项设置详解版
2010/03/07 PHP
PHP安全的URL字符串base64编码和解码
2014/06/19 PHP
PHP中iconv函数知识汇总
2015/07/02 PHP
JavaScript 函数参数是传值(byVal)还是传址(byRef) 分享
2013/07/02 Javascript
浅析Js中的单引号与双引号问题
2013/11/06 Javascript
JQuery性能优化的几点建议
2014/05/14 Javascript
JavaScript模拟实现继承的方法
2015/03/30 Javascript
javascript html5摇一摇功能的实现
2016/04/19 Javascript
Angular下H5上传图片的方法(可多张上传)
2017/01/09 Javascript
利用Jquery实现几款漂亮实用的时间轴(附示例代码)
2017/02/15 Javascript
微信小程序微信支付接入开发实例详解
2017/04/12 Javascript
jQuery扩展_动力节点Java学院整理
2017/07/05 jQuery
vue中如何使用ztree
2018/02/06 Javascript
详解Angular中通过$location获取地址栏的参数
2018/08/02 Javascript
微信小程序如何访问公众号文章
2019/07/08 Javascript
node实现简单的增删改查接口实例代码
2019/08/22 Javascript
layui弹出框Tab选项卡的示例代码
2019/09/04 Javascript
vue项目查看vue版本及cli版本的实现方式
2020/10/24 Javascript
Javascript执行上下文顺序的深入讲解
2020/11/04 Javascript
Python中对元组和列表按条件进行排序的方法示例
2015/11/10 Python
Python计算字符宽度的方法
2016/06/14 Python
Python实现对一个函数应用多个装饰器的方法示例
2018/02/09 Python
详解从Django Allauth中进行登录改造小结
2019/12/18 Python
Python查找不限层级Json数据中某个key或者value的路径方式
2020/02/27 Python
Python使用jupyter notebook查看ipynb文件过程解析
2020/06/02 Python
Python实现迪杰斯特拉算法过程解析
2020/09/18 Python
草莓网中国:StrawberryNet中国
2020/08/17 全球购物
《猴子种果树》教学反思
2014/04/26 职场文书
酒店节能降耗方案
2014/05/08 职场文书
护士求职信范文
2014/05/24 职场文书
小学生放飞梦想演讲稿
2014/08/26 职场文书
贷款工作证明模板
2015/06/12 职场文书
2019广播稿怎么写
2019/04/17 职场文书
PyTorch dropout设置训练和测试模式的实现
2021/05/27 Python