NSURLConnection загружает файлы JPEG низкого качества в 3G

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

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

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

Кто-нибудь знает, как заставить iPhone загружать JPEG в полном качестве?

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


person Nick Cartwright    schedule 31.12.2008    source источник


Ответы (3)


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

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

person diciu    schedule 31.12.2008
comment
Гений. Большое спасибо Дичу за это! Ник. - person Nick Cartwright; 01.01.2009

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

person user363349    schedule 09.02.2011
comment
Спасибо - тоже попробую. - person Nick Cartwright; 11.02.2011

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

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"];

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

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

person George Green    schedule 05.03.2013