NSURLConnection скачивает низкокачественные JPEG в 3G - PullRequest
2 голосов
/ 31 декабря 2008

Я загружаю изображение JPEG с сервера и назначаю его объекту изображения в приложении для iPhone с помощью NSURLConnection.

Все работает нормально, когда я подключен к Wi-Fi, но как только я переключаюсь на 3G, качество загруженного JPEG резко падает.

Кто-нибудь еще испытывал это?

Кто-нибудь знает, как заставить iPhone загрузить полноценный JPEG-файл?

Заранее спасибо! Ник.

Ответы [ 3 ]

8 голосов
/ 31 декабря 2008

Если это провайдер 3G, который сжимает данные на лету, я не думаю, что вы можете что-либо с этим поделать. Загрузите изображение с Safari через 3G -> если изображение выглядит плохо (и я ожидаю, что оно будет), то это провайдер сжимает его.

Чтобы обойти эту проблему, заархивируйте изображение на сервере и разархивируйте его в приложении -> это должно обойти сжатие на стороне 3G.

1 голос
/ 05 марта 2013

Я знаю, что этот вопрос довольно старый, но, если это кому-нибудь пригодится ...

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:theURL];
// Add headers to avoid mobile network operator image compression
[request setValue:@"no-cache" forHTTPHeaderField:@"Pragma"];
[request setValue:@"no-cache" forHTTPHeaderField:@"Cache-Control"];

Следует остановить сжатие изображений.

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

1 голос
/ 09 февраля 2011

Простой трюк - использовать https вместо http - похоже, он работает на O2.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...