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的多态性实例分析
Jul 07 Python
谈谈Python进行验证码识别的一些想法
Jan 25 Python
PyCharm 常用快捷键和设置方法
Dec 20 Python
Python2中文处理纪要的实现方法
Mar 10 Python
使用Python更换外网IP的方法
Jul 09 Python
PYQT5设置textEdit自动滚屏的方法
Jun 14 Python
利用python实现汉字转拼音的2种方法
Aug 12 Python
浅谈keras中自定义二分类任务评价指标metrics的方法以及代码
Jun 11 Python
浅谈Keras中shuffle和validation_split的顺序
Jun 19 Python
python实现跨年表白神器--你值得拥有
Jan 04 Python
TensorFlow低版本代码自动升级为1.0版本
Feb 20 Python
Django中celery的使用项目实例
Jul 07 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,不用COM,生成excel文件
2006/10/09 PHP
简单实用的.net DataTable导出Execl
2013/10/28 PHP
php基于str_pad实现卡号不足位数自动补0的方法
2014/11/12 PHP
基于PHP实现堆排序原理及实例详解
2020/06/19 PHP
jQuery 版本的文本输入框检查器Input Check
2009/07/09 Javascript
js 实现复制到粘贴板的功能代码
2010/05/13 Javascript
js/jquery去掉空格,回车,换行示例代码
2013/11/05 Javascript
Jquery方式获取iframe页面中的 Dom元素
2014/05/07 Javascript
jquery实现美观的导航菜单鼠标提示特效代码
2015/09/06 Javascript
如何通过js实现图片预览功能【附实例代码】
2016/03/30 Javascript
JavaScript利用正则表达式替换字符串中的内容
2016/12/12 Javascript
AngularJS控制器controller给模型数据赋初始值的方法
2017/01/04 Javascript
基于JS实现翻书效果的页面切换样式
2017/02/16 Javascript
利用JavaScript在网页实现八数码启发式A*算法动画效果
2017/04/16 Javascript
Angular4如何自定义首屏的加载动画详解
2017/07/26 Javascript
微信小程序 上传头像的实例详解
2017/10/27 Javascript
世界上最短的数字判断js代码
2019/09/09 Javascript
关于IDEA中的.VUE文件报错 Export declarations are not supported by current JavaScript version
2020/10/17 Javascript
解决elementui表格操作列自适应列宽
2020/12/28 Javascript
[02:31]2018年度DOTA2最具人气选手-完美盛典
2018/12/16 DOTA
[01:50:49]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Aster BO3 第三场 1月24日
2021/03/11 DOTA
Python linecache.getline()读取文件中特定一行的脚本
2008/09/06 Python
Python基于Matplotlib库简单绘制折线图的方法示例
2017/08/14 Python
Python使用Pickle库实现读写序列操作示例
2018/06/15 Python
对python 合并 累加两个dict的实例详解
2019/01/21 Python
python 输出列表元素实例(以空格/逗号为分隔符)
2019/12/25 Python
python实现拼图小游戏
2020/02/22 Python
Django使用list对单个或者多个字段求values值实例
2020/03/31 Python
python 如何引入协程和原理分析
2020/11/30 Python
python subprocess pipe 实时输出日志的操作
2020/12/05 Python
html5-websocket基于远程方法调用的数据交互实现
2012/12/04 HTML / CSS
实习自我鉴定模板
2013/09/28 职场文书
物理系毕业生自荐信
2013/11/01 职场文书
舞蹈专业大学生职业规划范文
2014/03/12 职场文书
农业项目建议书
2014/08/25 职场文书
公司董事任命书
2015/09/21 职场文书