NSURLSession — Как загрузить большой файл и загрузить большой файл в фоновом режиме в одном запросе?IOS

Программируем под IOS
Ответить
Anonymous
 NSURLSession — Как загрузить большой файл и загрузить большой файл в фоновом режиме в одном запросе?

Сообщение Anonymous »

Я использую NSURLSession с фоновой конфигурацией для загрузки большого файла, и сервер немедленно возвращает другой большой файл в том же запросе (я не могу изменить поведение сервера). Я использую только API-интерфейс uploadTaskWithRequest:fromFile: на основе делегата, потому что мне нужно, чтобы передача продолжалась, когда приложение находится в фоновом режиме или закрыто. Проблема: для этой задачи загрузки я никогда не получаю URLSession:dataTask:didReceiveResponse:completionHandler: в своем делегате, поэтому я не могу вернуть NSURLSessionResponseBecomeDownload и, следовательно, не могу преобразовать ее в задачу загрузки, которая передается на диск. Я либо получаю весь ответ, буферизованный в памяти (через DidReceiveData), либо не имею возможности передать его в виде файла. Использование dataTaskWithRequest: вызывает DidReceiveResponse, но задачи обработки данных не выполняются надежно в фоновом режиме для этого варианта использования. Существует ли какой-либо поддерживаемый шаблон с NSURLSession, который позволяет фоновую загрузку большого файла с помощью uploadTaskWithRequest:fromFile:, а также потоковую передачу тела ответа большого сервера непосредственно в файл (а не в память) в том же запросе?

Подробнее здесь: https://stackoverflow.com/questions/798 ... -backgroun
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»