Я просто создаю веб-приложение, которое может генерировать файл 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).