Как из мобильного приложения скачать большой файл с отображением прогресса скачиваниия?

1. herfis 513 09.09.21 15:43 Сейчас в теме
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
6. spacecraft 10.09.21 08:44 Сейчас в теме
(1) как вариант, отдавать кусками.
7. herfis 513 10.09.21 09:17 Сейчас в теме
(4)(5) Спасибо.
(6) Попробую, как оно будет... Не хотелось бы для этого целую подсистемку пилить. Но если прижмет, то придется. Размеры пограничные получаются, которые вообще-то нежелательно через моб-связь тянуть с нежирными мобильными тарифными планами... А если через wi-fi с нормальным каналом или через 4g на жирном плане, то вроде и небольшие...
2. noprogrammer 239 09.09.21 15:56 Сейчас в теме
3. herfis 513 09.09.21 16:19 Сейчас в теме
(2) Хорошо. Ну а так чтобы докачка поддерживалась, например? Речь про доставку обновлений самого мобильного приложения в apk, а там где-то пятьдесят метров.
И есть ли тогда принципиальная разница - тянуть его через get или через post?
Просто у меня весь api через post уже выстроен и хочу понимать - есть ли какие-то преимущества при скачивании через get
4. spacecraft 09.09.21 18:47 Сейчас в теме
(3)
И есть ли тогда принципиальная разница - тянуть его через get или через post?

разницы в скачивании никакой.
5. noprogrammer 239 09.09.21 19:52 Сейчас в теме
(3) На сколько мне известно - никак... на счет post и get - безраницы.
8. laperuz 47 10.09.21 10:55 Сейчас в теме
Двоичные данные и буфер двоичных данных доступны и в мобильном приложении.
Я бы у http-сервиса добавил параметр - часть данных.
Грубо говоря, файл делится на 10 частей, мы запрашиваем в цикле каждую часть, при успешном сохранении запоминаем последнюю полученную.
Файл на сервере хранится целиком, но средствами работы с двоичными данными делится на нужное количество частей, на мобилке склеивается обратно.
Количество частей можно определять автоматом, например предварительно запрашивая размер скачиваемого файла.
Таким образом решаем как задачу прогресса, так и докачки, по мне так довольно симпатично должно получиться и без особых сложностей.
Для проверки корректности файла используем хэш.
9. herfis 513 13.09.21 09:06 Сейчас в теме
(8) Это понятно. Это я и имел в виду, говоря про подсистемку. Но на текущий момент мне это кажется нецелесообразым (читай выше). 50 Мб на хорошем канале и так вытягиваются хорошо, а на плохом или тарифицируемом канале их вытягивать вообще нецелесообразно.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот