@lacredin
Программист

Как использовать stream в retrofit 2 при скачивании больших объемов данных?

Доброго времени суток!
Мне понадобилось получать большие файлы с сервера в виде строки base64, завёрнутой в soap ответ от сервера(да, да, метод странный)
Я попытался использовать @Streaming для retrofit 2, основываясь на инструкции с этого сайта
https://futurestud.io/tutorials/retrofit-2-how-to-...

На тестовом файле, по прямой ссылке с гугл диска, инструкция работает и прекрасно скачивается 400 Мб файл с помощью ((Response)response).body().byteStream(), а вот при попытке провернуть тоже самое c "моим" сервером, retrofit почему-то выкачивает весь файл(весь xml (soap)), а не даёт управление byteStream, в следствии чего программа падает от недостатка памяти.
Пожалуйста подскажите, в чём может быть причина такого поведения.
P.S. Не стесняйтесь просить дополнительную информацию, всё предоставлю, просто сейчас не знаю, что может понадобиться, а вся суть кода, показана в инструкции, по приведённой выше ссылке.
  • Вопрос задан
  • 775 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы