Как мы можем предотвратить загрузку с помощью $ http.get всего содержимого огромного текстового файла размером 500 МБ? Скажем, я хочу получить только первые 50 тыс.

2
devwannabe 27 Дек 2014 в 07:18

2 ответа

Лучший ответ

Внешняя загрузка определенных байтов из файла на сервере:

Попробуйте использовать следующий код, чтобы загрузить первые 50 МБ из вашего файла:

$http.get('www.example.com/someapi', {
  headers: {'Range': "bytes=0-49999"}
});

Подробнее о Range-request-header

Внутреннее разделение файла на сервере на части:

Если вы хотите разделить свой огромный файл на части и загрузить их из angular, вы можете создать маршруты для каждой части следующим образом:

http://rootPath.com/downloadFile?part:=id

Затем вы можете отправить запрос на загрузку желаемой части (50 МБ), которая сообщит серверу, какую часть огромного файла хочет интерфейс.

2
Mohamed Yakout 28 Дек 2014 в 09:42

Если сервер поддерживает запросы диапазона, вы можете отправить заголовок Range: bytes=0-49999 или сколько угодно байтов.

2
hobbs 27 Дек 2014 в 05:14