Частичная загрузка с Google Диска через Rest API занимает слишком много времени - PullRequest
0 голосов
/ 05 февраля 2019

Я пытаюсь загрузить файлы с Google Диска и показать прогресс.

Согласно официальной документации , запрос на загрузку файла с Google Диска принимает заголовок Range, но это не имеет большого значения.Я пытаюсь загрузить файл ~40 MB, и независимо от того, загружаю ли я куски 100 B, 65 KiB или 20 MiB, каждый запрос будет всегда занимать около 30 секунд, как для iOS, так и для Postman.Запрос на файл меньшего размера с финишем в ~300 ms, следовательно, это не проблема с доступом к API как таковому.

Запрос, который я отправляю с почтальоном:

GET /drive/v3/files/<file id>?alt=media HTTP/1.1
Host: www.googleapis.com
Range: bytes=0-100
Cache-Control: no-cache
Authorization: Bearer <My Token>
Postman-Token: ef19a353-98fe-4e7b-a892-a5a1a178d8a6

(Запрос из нашего приложения должен быть очень похожим.) Я бы предположил, что он должен вернуться быстро, но это не так.Это займет почти столько же времени, сколько если бы я скачал весь (~40 MB) файл.

Могу ли я еще что-то сделать, чтобы получать частичные загрузки таким образом, чтобы я мог разумно сообщить о ходе работы?Каждый блок, занимающий одно и то же время, что и вся загрузка, делает заголовок диапазона немного бесполезным.

...