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生成随机验证码的两种方法
Dec 22 Python
Python获取文件所在目录和文件名的方法
Jan 12 Python
python3 发送任意文件邮件的实例
Jan 23 Python
python链接oracle数据库以及数据库的增删改查实例
Jan 30 Python
python将.ppm格式图片转换成.jpg格式文件的方法
Oct 27 Python
python实现整数的二进制循环移位
Mar 08 Python
详解用python实现基本的学生管理系统(文件存储版)(python3)
Apr 25 Python
解决python flask中config配置管理的问题
Jul 26 Python
TensorFlow实现指数衰减学习率的方法
Feb 05 Python
tensorflow保持每次训练结果一致的简单实现
Feb 17 Python
matplotlib 范围选区(SpanSelector)的使用
Feb 24 Python
基于PyInstaller各参数的含义说明
Mar 04 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获取用户IPv4或IPv6地址的代码
2012/11/15 PHP
解析php中curl_multi的应用
2013/07/17 PHP
PHP常用技术文之文件操作和目录操作总结
2014/09/27 PHP
一个简单的php路由类
2016/05/29 PHP
innerText和innerHTML 一些问题分析
2009/05/18 Javascript
setInterval()和setTimeout()的用法和区别示例介绍
2013/11/17 Javascript
使用JS画图之点、线、面
2015/01/12 Javascript
ECMAScript中函数function类型
2015/06/03 Javascript
JQuery实现级联下拉框效果实例讲解
2015/09/17 Javascript
深入学习 JavaScript中的函数调用
2017/03/23 Javascript
详述 Sublime Text 打开 GBK 格式中文乱码的解决方法
2017/10/26 Javascript
详解node字体压缩插件font-spider的用法
2018/09/28 Javascript
详解为生产环境编译Angular2应用的方法
2018/12/10 Javascript
仿iPhone通讯录制作小程序自定义选择组件的实现
2019/05/23 Javascript
vue keep-alive 动态删除组件缓存的例子
2019/11/04 Javascript
JS中准确判断变量类型的方法
2020/06/01 Javascript
详细解读Python中的__init__()方法
2015/05/02 Python
浅谈python中set使用
2016/06/30 Python
在Python程序员面试中被问的最多的10道题
2017/12/05 Python
和孩子一起学习python之变量命名规则
2018/05/27 Python
Python分割指定页数的pdf文件方法
2018/10/26 Python
Python3实现统计单词表中每个字母出现频率的方法示例
2019/01/28 Python
Python学习笔记之错误和异常及访问错误消息详解
2019/08/08 Python
关于tensorflow的几种参数初始化方法小结
2020/01/04 Python
Sentry错误日志监控使用方法解析
2020/11/12 Python
基于Python中Remove函数的用法讨论
2020/12/11 Python
Python实现钉钉/企业微信自动打卡的示例代码
2021/02/02 Python
HTML5事件方法全部汇总
2016/05/12 HTML / CSS
德国健康生活方式网上商店:Landkaufhaus Mayer
2019/03/12 全球购物
党的群众路线教育实践活动个人整改措施
2014/10/27 职场文书
模范教师材料大全
2014/12/16 职场文书
食品安全主题班会
2015/08/13 职场文书
Ajax实现局部刷新的方法实例
2021/03/31 Javascript
奥特曼十大神器:奥特手镯在榜,第一是贝利亚的神器
2022/03/18 日漫
Spring Boot DevTools 全局配置学习指南
2022/03/31 Java/Android
vue修饰符.capture和.self的区别
2022/04/22 Vue.js