Скачать другой файл с тем же именем Получить предыдущий файл снова и снова - PullRequest
0 голосов
/ 01 марта 2019

Я просто создаю веб-приложение, которое может генерировать файл Excel с помощью XLSXWRITER.Он может загрузить файл с помощью команды send_file, используя python.Но проблема в том, что всякий раз, когда я загружаю файл, иногда возникает редкая ошибка, например, при загрузке предыдущего файла, который я загружаю ранее, когда вы проверяете файл, он должен быть новым.Я не знаю, если это проблема кеша или нет.

Что я уже тестировал:

Использование 2 устройства для проверки файла.Когда ошибка произошла на 1 устройстве, я загружаю его на другое устройство, и оно работает.

Очистить данные браузера и кеш (ничего не решить)

перезагрузить интернет и компьютер и даже пассажира Python (ничего не решить)

=======================================================================

Я использую python для моего бэкэнда и xlsxwriter для написания файла excel.

Эточто происходит при загрузке:

Когда вы нажимаете кнопку загрузки

=> он создает файл xlsx и после этого записывает на него данные

=> сохраняет xlsxв папке сервера

=> перенаправить на маршрут, который отправляет файл Excel в поток загрузки с помощью send_file

=> получить файл загрузки с сервера.

Всепроизошло в 1 клик

Код 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).

...