2008-12-31 6 views
2

Je télécharge une image JPEG d'un serveur et l'affecte à un objet image dans mon application iPhone en utilisant une connexion NSURLConnection.NSURLConnection télécharger des fichiers JPEG de mauvaise qualité sur 3G

Tout fonctionne correctement lorsque je suis en connexion Wifi, mais dès que je passe en 3G, la qualité du JPEG téléchargé est considérablement réduite.

Quelqu'un d'autre a-t-il déjà vécu cela?

Est-ce que quelqu'un connaît un moyen de forcer l'iPhone à télécharger le format JPEG de qualité?

Merci d'avance! Nick.

Répondre

8

Si c'est le fournisseur 3G qui compresse les données à la volée, je ne pense pas que vous pouvez faire quoi que ce soit à ce sujet. Téléchargez l'image avec Safari via la 3G -> si l'image est mauvaise (et je m'attends à ce qu'elle le soit), alors c'est le fournisseur qui la compresse.

Pour contourner ce problème zip l'image sur le serveur et décompressez-le dans l'application -> cela devrait contourner la compression sur le côté 3G.

+0

Genius. Merci beaucoup diciu pour ça! Nick. –

+0

PS: Vous avez raison - dans Safari, l'image a l'air terrible aussi! –

1

Une astuce simple consiste à utiliser https au lieu de http - cela semble fonctionner sur O2.

+0

Thankyou - Je vais essayer aussi. –

1

Je sais que cette question est assez vieux, mais ce Incase est de toute utilisation à tout le monde ...

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

devrait cesser la compression des images. L'opérateur mobile compresse les images afin d'économiser de la bande passante, mais a tendance à respecter ces champs d'en-tête et vous permet de demander l'image non compressée.

+0

fonctionne sur T-Mobile FR – RolandasR

Questions connexes