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开发之字符串string操作方法实例详解
Nov 12 Python
浅谈Python 集合(set)类型的操作——并交差
Jun 30 Python
Python使用re模块实现信息筛选的方法
Apr 29 Python
在Django中输出matplotlib生成的图片方法
May 24 Python
Python3.6简单反射操作示例
Jun 14 Python
Python numpy.array()生成相同元素数组的示例
Nov 12 Python
Python OpenCV中的resize()函数的使用
Jun 20 Python
Django Model中字段(field)的各种选项说明
May 19 Python
Python3与fastdfs分布式文件系统如何实现交互
Jun 23 Python
聊聊python在linux下与windows下导入模块的区别说明
Mar 03 Python
详解Python为什么不用设计模式
Jun 24 Python
python实现商品进销存管理系统
May 30 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实现框架(一)
2006/10/09 PHP
聊天室php&mysql(一)
2006/10/09 PHP
PHP PDO函数库详解
2010/04/27 PHP
php is_file 判断给定文件名是否为一个正常的文件
2010/05/10 PHP
PHP获取文件的MD5值并判断是否被修改的例子
2014/06/19 PHP
Yii2.0多文件上传实例说明
2017/07/24 PHP
PHP给源代码加密的几种方法汇总(推荐)
2018/02/06 PHP
Using the TextRange Object
2006/10/14 Javascript
js类 from qq
2006/11/13 Javascript
用倒置滤镜把div倒置,再把table倒置。
2007/07/31 Javascript
jquery下实现overlay遮罩层代码
2010/08/25 Javascript
纯js网页画板(Graphics)类简介及实现代码
2012/12/24 Javascript
artdialog的图片/标题以及关闭按钮不显示的解决方法
2013/06/27 Javascript
js使用for循环与innerHTML获取选中tr下td值
2014/09/26 Javascript
jquery中JSON的解析方式
2015/03/16 Javascript
基于jquery实现鼠标滚轮驱动的图片切换效果
2015/10/26 Javascript
AngularJs定制样式插入到ueditor中的问题小结
2016/08/01 Javascript
Node.js开启Https的实践详解
2016/10/25 Javascript
JS实现给对象动态添加属性的方法
2017/01/05 Javascript
简单实现js悬浮导航效果
2017/02/05 Javascript
vue.js默认路由不加载linkActiveClass问题的解决方法
2017/12/11 Javascript
Vue项目分环境打包的实现步骤
2018/04/02 Javascript
python读取Android permission文件
2013/11/01 Python
python实现给数组按片赋值的方法
2015/07/28 Python
python中logging包的使用总结
2018/02/28 Python
三个python爬虫项目实例代码
2019/12/28 Python
利用指针变量实现队列的入队操作
2012/04/07 面试题
热能动力工程毕业生自荐信
2013/11/07 职场文书
思想专业自荐信范文
2013/12/25 职场文书
2014年会计工作总结
2014/11/27 职场文书
2014年前台文员工作总结
2014/12/08 职场文书
大学生受助感言
2015/08/01 职场文书
简历上的自我评价,该怎么写呢?
2019/06/13 职场文书
Python 如何安装Selenium
2021/05/06 Python
python执行js代码的方法
2021/05/13 Python
Java基于字符界面的简易收银台
2021/06/26 Java/Android