Браузеры не инициируют запросы диапазона для больших файлов

Я хочу обслуживать большие файлы (>1 ГБ) через HTTPS. Я пытаюсь использовать для этого заголовки диапазона, чтобы, когда клиент (браузер) запрашивает диапазон байтов, он будет обслуживаться сервером. Я также установил максимальный предел диапазона, то есть 1 МБ.

Проблема в том, что браузеры (проверенные в Chrome, Firefox) не инициируют запрос диапазона. Код выглядит примерно так:

      @app.get("/download/<file_id>")
def download(file_id):
  ...
  # some logic
  ...
  return file_download_in_ranges(file_location, download=True)

Функция file_download_in_ranges проверяет, есть ли в заголовках Content-Rangeзаголовок, если да, он возвращает фрагмент данных из файла в указанном диапазоне. Я пробовал использовать тот же API для видеоплеера HTML5, который работал нормально. Но когда я создаю ссылку привязки с тем же API, браузер не запускает цикл запроса диапазона. Запросы диапазона работают только для встроенных в браузер аудио / видео плееров?

Заранее благодарим за предложения!

0 ответов

Другие вопросы по тегам