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

StackOverflow https://stackoverflow.com/questions/402911

  •  03-07-2019
  •  | 
  •  

Вопрос

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

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

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

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

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

Это было полезно?

Решение

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

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

Другие советы

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

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

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

Должно прекратиться сжатие изображений.

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top