txt文件
1
2
3
4
5
6
7
|
@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 文件:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
@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
1
2
3
4
5
6
7
8
9
10
11
12
|
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 |
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。
原文链接:https://www.cnblogs.com/Grouth-Diary/p/13518247.html