Python生成并下載文件后端代碼實例
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
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。
相關文章:
