2009-02-09 18 views
5

Tengo una aplicación para iPhone con un control integrado UIWebview (Safari). Me gustaría poder almacenar las imágenes de ciertas páginas web localmente.iPhone UIWebview - Guardar una imagen ya descargada

¿Puedo acceder mediante programación a la ruta en la que UIWebview descarga imágenes? ¿O necesito analizar el HTML y luego buscar el recurso de la imagen en la red y volver a descargarlo?

Respuesta

0

No creo que se puede guardar las imágenes directamente utilizando el UIWebView, you'r va a tener que ir a buscar las imágenes manualmente ...

0

exención de responsabilidad: No he probado esto.

Si puede encontrar sus nombres, UIImage responde a + (UIImage *) imageNamed: (NSString *) que los documentos implican pueden recuperar la imagen de un caché de todo el dispositivo.

Me interesaría conocer los resultados de cualquier experimento.

5

No sé si se puede acceder a las imágenes precargadas de la memoria caché de Safari ...

Sin embargo, usted puede encontrar fácilmente las URL de imágenes sin necesidad de analizar HTML, mediante la ejecución de un poco de Javascript en su lugar:

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

Y solo necesita agregar NSData * imageData = [NSData dataWithContentsOfURL: [NSURL URLWithString: @ "www.url.com/image.jpeg"]]; UIImage * theImage = [UIImage imageWithData: imageData]; UIImageWriteToSavedPhotosAlbum (theImage, self, nil, nil); para guardar la imagen en el álbum Fotos. –

+0

Esta no es una solución que solicite el autor. No quiere solicitar imágenes en Internet, ya que están cargadas en la vista web. He votado la pregunta. –

Cuestiones relacionadas