2009-02-09 4 views
5

Ho un'app per iPhone con controllo UIWebview (Safari) incorporato. Mi piacerebbe essere in grado di memorizzare le immagini da determinate pagine Web localmente.iPhone UIWebview - Salvataggio di un'immagine già scaricata

Posso accedere a livello di codice al percorso in cui UIWebview scarica le immagini? O devo analizzare l'HTML e poi trovare la risorsa immagine in rete e scaricarla di nuovo?

risposta

0

Non credo che è possibile salvare le immagini utilizzando direttamente l'UIWebView, you'r andando ad avere per andare a prendere le immagini manualmente ...

0

disclaimer: non ho provato questo.

Se riesci a trovare il loro nome, UIImage risponde a + (UIImmagine *) imageNamed: (NSString *) che i documenti implicano potrebbe restituire l'immagine dalla cache di un dispositivo.

Sarei interessato a conoscere i risultati di qualsiasi esperimento.

5

Non so se è possibile accedere alle immagini precaricate dalla cache di Safari ...

Tuttavia si può facilmente trovare gli URL di immagine senza parsing del codice HTML, eseguendo un po 'di javascript, invece:

NSString *script = @"var n = document.images.length; var names = [];" 
        "for (var i = 0; i < n; i++) {" 
        "  names.push(document.images[i].src);" 
        "} String(names);"; 
NSString *urls = [webView stringByEvaluatingJavaScriptFromString:script]; 
// urls contains a comma-separated list of the image URLs. 
+1

E devi solo aggiungere NSData * imageData = [NSData dataWithContentsOfURL: [NSURL URLWithString: @ "www.url.com/image.jpeg"]]; UIImage * theImage = [UIImage imageWithData: imageData]; UIImageWriteToSavedPhotosAlbum (theImage, self, nil, nil); per salvare l'immagine nell'album Foto. –

+0

Questa non è una soluzione che l'autore chiede. Non vuole richiedere le immagini su Internet perché sono già caricate in Webview. Ho votato la domanda. –