Nsmutableurlrequest: размещение больших объемов данных
-
29-09-2019 - |
Вопрос
Мне нужно отправить большие объемы данных (файлы изображений) по почте в WebView
, Так что я использую NSMutableURLRequest
с setHTTPBody:
.
Проблема: если размер данных больше, чем около 3 МБ, приложение внезапно начинает показывать огромное количество памяти и получает собаку медленно со всем пейджем.
Я пытался изменить это:
[request setHTTPBody:[NSData dataWithBytes:post.Get() length:post.Size()]];
..к этому:
[request setHTTPBodyStream:[NSInputStream inputStreamWithData:
[NSData dataWithBytes:post.Get() length:post.Size()]]];
..Н, то, кажется, ничто, кажется, и запрос просто раз. Я не получаю никаких нормальных обратных вызовов (например, WebViewProgressEstimateChangedNotification
) и данные, кажется, не устанавливаются.
Итак, как я (а) сделать NSData
Подход не является памятью свиньи или (б) сделать работу потокового подхода (при условии, что это хороший обходной путь)?
Решение
Я оказался решением его, используя NSURLConnection
сделать загрузку вручную, а затем кормить результат в WebView
. Отказ Как бонус, я получаю гораздо лучшую загрузку обновлений прогресса таким образом.