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文件。
前后端分離時(shí),接口返回時(shí)要注意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) # 將單個(gè)字符串編碼轉(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
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. Nginx+php配置文件及原理解析2. Yii2.0引入CSS,JS文件方法3. JSP數(shù)據(jù)交互實(shí)現(xiàn)過(guò)程解析4. 解決啟動(dòng)django,瀏覽器顯示“服務(wù)器拒絕訪問(wèn)”的問(wèn)題5. vue使用webSocket更新實(shí)時(shí)天氣的方法6. python virtualenv和flask安裝沒(méi)有名為flask的模塊7. 討論CSS中的各類居中方式8. 關(guān)于HTML5的img標(biāo)簽9. python 生成任意形狀的凸包圖代碼10. ASP.NET MVC獲取多級(jí)類別組合下的產(chǎn)品
