当 UIWebView 以正常方式加载请求时,它很可能会缓存它,包括它的图像。我希望人们选择要存储在他们的相机胶卷中的图像。
此时我可以检测到用户在 UIWebView 中点击的图像的 URL。我无知的答案是使用 NSURLConnection 下载图像,但感觉不对,因为图像已经下载并且可能已经存储在缓存中。那么有没有办法检查图像是否已经被缓存并从他们那里获取它而不是下载图像两次?
我试图像这样得到一个 NSCachedURLResponse :
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:@"http://upload.wikimedia.org/wikipedia/commons/thumb/6/64/Collage_of_Six_Cats-02.jpg/250px-Collage_of_Six_Cats-02.jpg"]];
NSCachedURLResponse *response = [[NSURLCache sharedURLCache] cachedResponseForRequest:request];
但是“响应”始终为零,这是否意味着它不会被缓存?
编辑:
在使用请求时:
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
它确实返回一个有效的响应。但是,如果我在自己创建的请求中使用相同的 URL,它会再次返回 nil,我很困惑。