我只是创建了一个Web应用程序,可以使用XLSXWRITER生成一个excel文件。它可以使用python使用send_file命令下载文件。但是问题是无论何时我下载文件时,有时都会发生罕见的错误,例如它下载了我之前下载的先前文件,当您检查文件时,它应该是新文件。我不知道是否在缓存问题上。
我已经测试过的内容:
使用2台设备检查文件。当一台设备上发生错误时,我将其下载到另一台设备上并且可以正常工作。
清除浏览器数据和缓存(不解决任何问题)
重新启动Internet和PC,甚至重新启动python乘客(什么都不解决)
================================================ ==================
我在后端使用python和xlsxwriter编写Excel文件。
这就是下载的工作:
点击下载按钮
=>它创建一个xlsx文件,然后在其上写入数据
=>它将xlsx保存在服务器文件夹
=>重定向到使用send_file
将excel文件发送到下载流的路由=>从服务器获取下载文件。
所有操作都只需单击一次即可
该过程的代码python:
@__app.route('/report', methods=['GET','POST'])
@is_logged_in
def report():
if request.method == 'POST':
if request.form['action'] == 'DownloadReport':
__CustomerName_AddReport_Form = request.form['CustomerNametxt']
__Tax_AddReport_Form = request.form['Taxtxt']
__Bulan_AddReport_Form = request.form['Bulantxt']
__Tahun_AddReport_Form = request.form['Tahuntxt']
if __CustomerName_AddReport_Form:
workbook = xlsxwriter.Workbook('Report.xlsx')
worksheet = workbook.add_worksheet()
worksheet.write('B2','ANYTHING')
workbook.close()
return render_template('downloadreport.html')
else:
return render_template('report.html')
@__app.route('/downloadreport', methods=['GET'])
def downloadreport():
return send_file('/home/suiinkxy/jakarta/Report.xlsx' ,as_attachment=True)
任何人都可以提供帮助,如果可以使我变得更好,我将不胜感激批评和意见。谢谢你。
更新信息:
Whenever the file is downloading the fresh one the network response is status code : 200 OK, But everytime it failed the response (download the previous version) it changed into [Status Code : 200 OK (From disk cache) ]. Any solution to disable it ? *I am using flask for my python and html for frontend.
更新信息(1):
我发现了问题,这全都与在浏览器上缓存有关。如果我在Chrome上使用禁用缓存,则一切正常,或者始终使用从边缘刷新。问题是如何永久禁用来自python或浏览器(chrome或edge)的缓存,而不仅限于开发人员选项(f12)。