如何保持UIWebView缓存图像?

时间:2014-03-16 20:00:00

标签: ios caching uiwebview

我正在使用UIWebView在IOS应用程序中显示HTML页面。 HTML页面包含我在本地磁盘上创建并写入的png文件。第一次显示页面时一切正常,但当我尝试创建新图像并重新显示页面时,会显示原始图像。

问题似乎是我使用的是PNG文件的相同文件名。即使我使用新图像写入PNG文件,UIWebView也会从原始加载缓存图像,并显示原始图像,而不是新图像。我已经通过将其加载到Safari中来验证新图像是否正确写入。

那么如何清除UIWebView对此图像的缓存?我意识到另一个选择是每次创建时给png文件一个不同的文件名,但是我要么累积png文件,要么我必须添加代码来清除png文件完成 - 我不愿意这样做。

2 个答案:

答案 0 :(得分:0)

查看this answer:

NSString *testURL = [NSString stringWithFormat:@"%@?t=%@", url, randQuery];
[self.webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:testURL] cachePolicy:NSURLRequestReloadIgnoringLocalAndRemoteCacheData timeoutInterval:10.0]];

答案 1 :(得分:0)

您可以尝试:

NSString *theURL = [NSString stringWithFormat:@"%@?t=%@", url, [[NSProcessInfo processInfo] globallyUniqueString]];
[self.webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:theURL] cachePolicy:NSURLRequestReloadIgnoringLocalAndRemoteCacheData timeoutInterval:8.0]];