NSURLConnection scaricando file JPEG di scarsa qualità su 3G
-
03-07-2019 - |
Domanda
Sto scaricando un'immagine JPEG da un server e la sto assegnando a un oggetto immagine nella mia app per iPhone usando una NSURLConnection.
Tutto funziona benissimo quando sono su una connessione Wifi, ma non appena passo a 3G, la qualità del JPEG scaricato si riduce drasticamente.
Qualcun altro l'ha sperimentato?
Qualcuno sa come forzare l'iPhone a scaricare il JPEG di alta qualità?
Grazie in anticipo! Nick.
Soluzione
Se è il provider 3G a comprimere i dati al volo, non penso che tu possa fare nulla al riguardo. Scarica l'immagine con Safari tramite 3G - > se l'immagine sembra male (e mi aspetto che lo sia) allora è il provider che la comprime.
Per ovviare a questo problema comprimere l'immagine sul server e decomprimerla nell'applicazione - > questo dovrebbe aggirare la compressione sul lato 3G.
Altri suggerimenti
Un semplice trucco è usare https invece di http - questo sembra funzionare su O2.
So che questa domanda è piuttosto vecchia, ma in caso questo sia di qualche utilità per chiunque ...
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"];
Dovrebbe interrompere la compressione delle immagini.
L'operatore mobile comprime le immagini per risparmiare larghezza di banda, ma tendono a rispettare questi campi di intestazione e consentono di richiedere l'immagine non compressa.