Python生成并下载文件后端代码实例


Posted in Python onAugust 31, 2020

txt文件

生成并下载txt文件:

@app.route('/download', methods=['GET'])
def download():
  content = "long text"
  response = make_response(content)
  response.headers["Content-Disposition"] = "attachment;   
  filename=myfilename.txt"
  return response

运行app.py后,在浏览器中输入:http://127.0.0.1:5000/download,直接下载txt文件。

excel 文件

生成并下载excel 文件:

@app.route("/export",methods = ['GET'])
def export():
  out = BytesIO()
  workbook = xlsxwriter.Workbook(out)
  table = workbook.add_worksheet()
  table.write(0, 0, "第1列")
  table.write(0, 1, "第2列")
  table.write(0, 2, "第3列")
  table.write(0, 0, "name")
  table.write(1, 1, "sex")
  table.write(2, 2, "class")
  workbook.close()
  out.seek(0)
  filename = quote("Entity类下载.xlsx")
  rv = send_file(out, as_attachment=True, attachment_filename=filename)
  rv.headers['Content-Disposition'] += "; filename*=utf-8''{}".format(filename)
  return rv

运行app.py后,在浏览器中输入:http://127.0.0.1:5000/export,可以直接下载excel文件。

前后端分离时,接口返回时要注意headers 

def exportExcel():
  workbook = xlwt.Workbook(encoding='utf-8')
  wSheet = workbook.add_sheet("Plan")
  titleFont = xlwt.Font()
  f = BytesIO()
  workbook.save(f)
  f.seek(0)
  filename = quote(saveFile) # 将单个字符串编码转化为 %xx%xx 的形式
  rv = send_file(f, as_attachment=True, attachment_filename=filename)
  rv.headers['Content-Disposition'] += "; filename*=utf-8''{}".format(filename)
  rv.headers['Cache-Control'] = 'no-store'      # 重点在这句!!!!!!!!!!!!!!!!!
  return rv

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python新手在作用域方面经常容易碰到的问题
Apr 03 Python
python计算对角线有理函数插值的方法
May 07 Python
python实现用户管理系统
Jan 10 Python
python提取xml里面的链接源码详解
Oct 15 Python
python飞机大战pygame游戏背景设计详解
Dec 17 Python
在tensorflow中实现去除不足一个batch的数据
Jan 20 Python
python numpy数组中的复制知识解析
Feb 03 Python
关于Python字符串显示u...的解决方式
Mar 06 Python
快速解决jupyter启动卡死的问题
Apr 10 Python
浅谈Python中threading join和setDaemon用法及区别说明
May 02 Python
python报错TypeError: ‘NoneType‘ object is not subscriptable的解决方法
Nov 05 Python
python的dict判断key是否存在的方法
Dec 09 Python
python exit出错原因整理
Aug 31 #Python
Python如何将模块打包并发布
Aug 30 #Python
如何以Winsows Service方式运行JupyterLab
Aug 30 #Python
selenium切换标签页解决get超时问题的完整代码
Aug 30 #Python
五分钟带你搞懂python 迭代器与生成器
Aug 30 #Python
python开根号实例讲解
Aug 30 #Python
python一些性能分析的技巧
Aug 30 #Python
You might like
收音机发烧友应当熟知的100条知识
2021/03/02 无线电
E路文章系统PHP
2006/12/11 PHP
php使用scandir()函数扫描指定目录下所有文件示例
2019/06/08 PHP
PHP反射基础知识回顾
2020/09/10 PHP
文本框获得焦点和失去焦点的判断代码
2012/03/18 Javascript
JS打开图片另存为对话框实现代码
2012/12/26 Javascript
jquery鼠标滑过提示title具体实现代码
2013/08/06 Javascript
javascript根据时间生成m位随机数最大13位
2014/10/30 Javascript
JavaScript setTimeout使用闭包功能实现定时打印数值
2015/12/18 Javascript
Bootstrap框架的学习教程详解(二)
2016/10/18 Javascript
JS实现给对象动态添加属性的方法
2017/01/05 Javascript
jquery中$.fn和图片滚动效果实现的必备知识总结
2017/04/21 jQuery
ES6新特性之类(Class)和继承(Extends)相关概念与用法分析
2017/05/24 Javascript
Vue cli+mui 区域滚动的实例代码
2018/01/25 Javascript
基于Axios 常用的请求方法别名(详解)
2018/03/13 Javascript
微信小程序 slot踩坑的解决
2019/04/01 Javascript
vue滚动固定顶部及修改样式的实例代码
2019/05/30 Javascript
Layui实现带查询条件的分页
2019/07/27 Javascript
layui中的switch开关实现方法
2019/09/03 Javascript
[48:31]完美世界DOTA2联赛PWL S3 DLG vs Phoenix 第二场 12.17
2020/12/19 DOTA
简单解析Django框架中的表单验证
2015/07/17 Python
Python装饰器用法示例小结
2018/02/11 Python
python实现校园网自动登录的示例讲解
2018/04/22 Python
pandas进行数据的交集与并集方式的数据合并方法
2018/06/27 Python
python hook监听事件详解
2018/10/25 Python
python绘制无向图度分布曲线示例
2019/11/22 Python
Spring实战之使用util:命名空间简化配置操作示例
2019/12/09 Python
html5实现滑块功能之type="range"属性
2020/02/18 HTML / CSS
Java语言程序设计测试题判断题部分
2013/01/06 面试题
大学生社会实践活动总结
2014/07/03 职场文书
2014年社区党建工作总结
2014/11/11 职场文书
营业用房租赁协议书
2014/11/26 职场文书
2014年幼儿园教学工作总结
2014/12/04 职场文书
北京天坛导游词
2015/02/12 职场文书
2015年绩效考核工作总结
2015/05/23 职场文书
详解python的异常捕获
2022/03/03 Python