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写的Tkinter程序屏幕居中方法
Mar 10 Python
用Python进行简单图像识别(验证码)
Jan 19 Python
python批量复制图片到另一个文件夹
Sep 17 Python
在python带权重的列表中随机取值的方法
Jan 23 Python
使用python实现抓取腾讯视频所有电影的爬虫
Apr 15 Python
Django 多环境配置详解
May 14 Python
PyQt5固定窗口大小的方法
Jun 18 Python
python字符串替换第一个字符串的方法
Jun 26 Python
python程序输出无内容的解决方式
Apr 09 Python
如何将PySpark导入Python的放实现(2种)
Apr 26 Python
python制作图形界面的2048游戏, 基于tkinter
Apr 06 Python
编写python程序的90条建议
Apr 14 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
PHP新手上路(五)
2006/10/09 PHP
Yii调试查看执行SQL语句的方法
2016/07/15 PHP
PHP中类型转换 ,常量,系统常量,魔术常量的详解
2017/10/26 PHP
一个不错的用JavaScript实现的UBB编码函数
2007/03/09 Javascript
javascript URL编码和解码使用说明
2010/04/12 Javascript
AJAX分页的代码(后台asp.net)
2011/02/14 Javascript
js 一个关于图片onload加载的事
2013/11/10 Javascript
jquery实现页面图片等比例放大缩小功能
2014/02/12 Javascript
jQuery插件jFade实现鼠标经过的图片高亮其它变暗
2015/03/14 Javascript
javascript遇到html5的一些表单属性
2015/07/05 Javascript
举例讲解JavaScript substring()的使用方法
2015/11/09 Javascript
JS对象深度克隆实例分析
2017/03/16 Javascript
Javascript实现运算符重载详解
2018/04/07 Javascript
Vue+Mock.js模拟登录和表格的增删改查功能
2018/07/26 Javascript
关于ligerui子页面关闭后,父页面刷新,重新加载的方法
2019/09/27 Javascript
JavaScript如何把两个数组对象合并过程解析
2019/10/10 Javascript
JS动态显示倒计时效果
2019/12/12 Javascript
[52:36]VGJ.S vs Serenity 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
python 自动提交和抓取网页
2009/07/13 Python
python socket 超时设置 errno 10054
2014/07/01 Python
深入理解python中的浅拷贝和深拷贝
2016/05/30 Python
Python文件操作基本流程代码实例
2017/12/11 Python
PyQt5实现拖放功能
2018/04/25 Python
python实现感知器算法(批处理)
2019/01/18 Python
python贪吃蛇游戏代码
2020/04/18 Python
python爬虫租房信息在地图上显示的方法
2019/05/13 Python
浅谈selenium如何应对网页内容需要鼠标滚动加载的问题
2020/03/14 Python
canvas学习和滤镜实现代码
2018/08/22 HTML / CSS
Bowflex美国官方网站:高级家庭健身器材
2017/12/22 全球购物
描述JSP和Servlet的区别、共同点、各自应用的范围
2012/10/02 面试题
清华大学自主招生自荐信
2014/01/29 职场文书
中职生求职信
2014/07/01 职场文书
大学同学会活动方案
2014/08/20 职场文书
2014年除四害工作总结
2014/12/06 职场文书
道歉短信大全
2015/05/12 职场文书
食堂卫生管理制度
2015/08/04 职场文书