Проблема с загрузкой изображений

У меня возникла проблема при загрузке изображений в приложении для iOS. Мое приложение имеет возможность загружать изображения с моего сервера, но когда я закрываю приложение во время загрузки, а затем снова открываю его, для приложения изображение было полностью загружено, но когда я открываю его, происходит сбой (половина изображение выглядит нормально, но другая половина полностью серая), и я не могу найти способ справиться с этим случаем.

Есть ли способ справиться с этим случаем? Я имею в виду, есть ли способ узнать, не повреждено ли изображение, или что-то еще, что позволит мне узнать, что изображение не было загружено, и я могу его повторно загрузить?


person FabKremer    schedule 31.10.2013    source источник


Ответы (3)


Оберните код загрузки изображения в вызовы UIApplication beginBackgroundTaskWithExpirationHandler: и UIApplication endBackgroundTask:. В обработчике срока действия остановите загрузку и удалите частичный файл.

Это позволяет продолжать загрузку в течение нескольких минут в фоновом режиме, что дает больше шансов завершиться. Если это не завершается, вы удаляете частичный файл, предотвращая проблему с плохим изображением. Конечно, вам нужно попробовать загрузить снова, когда ваше приложение вернется на передний план.

person rmaddy    schedule 31.10.2013

Я бы посоветовал вам сначала загрузить изображение во временное место, а после успешного завершения операции вы переместите изображение в его постоянное место (и внесите изменения в базу данных).

person Misha Karpenko    schedule 31.10.2013

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

person ninja_iOS    schedule 31.10.2013
comment
Запись в память может быть очень опасной для больших файлов. - person Misha Karpenko; 31.10.2013
comment
Ок, круто, но как мне убедиться, что мой образ полностью скачался? - person FabKremer; 31.10.2013