Наконец-то узнал, как этого добиться!
Оказалось, что это так же просто, как включить xsendfile и установить параметр заголовка Accept-Range
Прочитайте мой ответ ниже
(кстати, в приведенной ниже цитате блока я написал общую ошибку новичков - как и я - сделал. Мы склонны думать, что это следует запрограммировать вручную)
URL должен быть примерно таким:
mysite.com/get_file?file_point=100 ->
это будет читать из байта 100
- Получить смещение из параметра (параметр file_point в нашем примере)
- Узнать размер файла (File.size)
- Чтение файла со смещения по длине (эквивалент fseek в PHP)
- Отправьте файл, используя send_file
Я не знаю, как сделать шаг # 3 в Ruby
в шагах выше.