Прогресс загрузки Alamofire totalBytesExpectedToRead всегда -1

Я использую Alamofire и обнаружил, что с задачей загрузки и прогрессом я получаю правильные прочитанные байты и общее количество байтов, прочитанных в настоящее время, но totalBytesExpectedToRead всегда -1. Даже в тестовых файлах утверждается, что это значение всегда должно быть -1, почему?

Загрузка завершается без проблем, но я хочу показать индикатор выполнения при загрузке PDF-файлов.

Возможно ли, что эта часть библиотеки еще не сделана?

Заранее спасибо!


person kennyevo    schedule 10.12.2014    source источник


Ответы (1)


totalBytesExpectedToRead предоставляет вам Content-Length, полученный со стороны сервера. Когда сервер не предоставляет значение «Content-Length» в заголовке ответа, оно всегда будет равно -1. Сначала подтвердите веб-сервисам и команде веб-разработчиков, что они должны предоставить вам «Content-Length».

Фактически, totalBytesExpectedToRead дает вам значение из свойства NSURLResponse "expectedContentLength"

person Satish Azad    schedule 10.12.2014
comment
Итак, если у меня есть только URL-адрес файла PDF и я создаю запрос на загрузку с помощью Alamofire, это значение всегда будет -1? - person kennyevo; 10.12.2014
comment
Нет, это значение всегда является общим размером файла. Если он дает вам -1, это означает, что сервер не предоставляет вам размер. - person Satish Azad; 10.12.2014
comment
А, понятно, спрошу у веб-парней, добавили ли они этот заголовок в фильтр сервера. - person kennyevo; 10.12.2014
comment
@SatishAzad Видите, я загружаю изображение по той же ссылке, но иногда totalSize равен -1, а иногда и правильный. Почему это происходит? - person Alexander Khitev; 01.07.2018