Python生成并下載文件后端代碼實(shí)例
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
運(yùn)行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
運(yùn)行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) # 將單個字符串編碼轉(zhuǎn)化為 %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’ # 重點(diǎn)在這句!!!!!!!!!!!!!!!!! return rv
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. ajax請求添加自定義header參數(shù)代碼2. ASP基礎(chǔ)知識VBScript基本元素講解3. 解決android studio引用遠(yuǎn)程倉庫下載慢(JCenter下載慢)4. Kotlin + Flow 實(shí)現(xiàn)Android 應(yīng)用初始化任務(wù)啟動庫5. Python requests庫參數(shù)提交的注意事項(xiàng)總結(jié)6. Gitlab CI-CD自動化部署SpringBoot項(xiàng)目的方法步驟7. 利用CSS3新特性創(chuàng)建透明邊框三角8. 淺談SpringMVC jsp前臺獲取參數(shù)的方式 EL表達(dá)式9. axios和ajax的區(qū)別點(diǎn)總結(jié)10. python操作mysql、excel、pdf的示例
