Сервер возвращает кэшированный файл

#flask #caching #browser-cache

#flask #кэширование #браузер-кэш

Вопрос:

Я динамически создаю следующий тег привязки, чтобы загрузить файл, который я получаю из серверной части flask. URL в a.href всегда постоянен. Но содержимое output.mp4 продолжает меняться.

Однако содержимое файла, которое я получаю с помощью.click(), не меняется. Файл, который я получаю, — это тот, который я создал по крайней мере 3-4 часа назад. Как мне получить обновленный файл при каждом a.click() вызове?

   var a = document.createElement('a')
  a.href = 'http://localhost:5000/download/output'
  a.setAttribute('download', 'output.mp4')
  a.click()
  

Ответ №1:

Это почти на 100% связано с настройкой кэша на серверной части.

Простым решением было бы добавить флаг прерывания кэша к выходным данным, например

a.setAttribute('download', 'output.mp4?cachebuster=' Date.now())