下载具有相同名称的其他文件一次又一次地获取前一个文件

时间:2019-03-01 08:56:27

标签: python python-2.7 download xlsxwriter sendfile

我只是创建了一个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)。

0 个答案:

没有答案