I have an iPhone app with an embedded UIWebview (Safari) control. I'd like to be able to store the images from certain webpages locally.
Can I programmatically access the path where UIWebview downloads images? Or do I need to parse the HTML and then go find the image resource out on the net and download it again?
I do not know if you can access the preloaded images from Safari's cache...
However you can easily find the image URLs without parsing HTML, by running a bit of javascript instead:
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.
I don't think you can save the images using the UIWebview directly, you'r going to have to fetch the images manually...
disclaimer: I have not tried this.
If you can find out their names, UIImage responds to +(UIImage*)imageNamed:(NSString*) which the docs imply might get the image back from a device wide cache.
I'd be interested in knowing the results of any experiments.