在 UIwebview 中加载本地图像

Posted

技术标签:

【中文标题】在 UIwebview 中加载本地图像【英文标题】:Loading a local image in UIwebview 【发布时间】:2012-12-11 09:23:25 【问题描述】:

我在app文档目录中有一张图片(png),是UIView的截图。当用户单击UIButton 时,图像将被保存。我使用stringByEvaluatingjavascriptFromString 将图像注入到UIWebView 中的一个div 中。问题是当应用程序首先加载时,它添加了正确的图像,但在运行时图像没有改变,它只显示加载时目录中的图像。我尝试清理缓存等但没有用。

注意 - webview 加载本地 html 文件 - 我用弧

如何将文档目录中的正确图像添加到 web 视图。 ?

更新 它在 ios 5 上运行良好.. 问题仅在 IOS 6 上..

【问题讨论】:

同样的问题:/我们可以使用一些方法重新加载 stringByEvaluatingJavaScriptFromString 的数据吗? 【参考方案1】:

确保每次将图像保存在文档目录中时,您必须提供不同的名称并根据图像进行检索。

【讨论】:

【参考方案2】:

我猜你给的图像路径是这样的/Users/file/...some other paths../Documents/Images/imag.png。 您提供的图像路径在您的HTML 文件中应该是这样的,因为您正在尝试从本地路径加载图像。 file:///Users/file/...some other paths../Documents/Images/imag.png

【讨论】:

在你的 htmlString 中,div 标签应该是 NSString *htmlString = [NSString stringWithFormat@"<div style=\"background:url('file://%@/%@') no-repeat;\"></div>", documentDirectoryPath, filename]; 我正在使用 。它在启动时加载图像,因此路径没有问题。我认为它与缓存有关。我在初始化视图时使用 [[NSURLCache sharedURLCache] removeAllCachedResponses] 删除缓存,但没有用!!【参考方案3】:

我找不到这个问题背后的技术问题,但我通过在每次保存图像文件时提供唯一名称来修复它。

    NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
    int timeInter = [[NSDate date]timeIntervalSince1970];
    [userDefaults setInteger:timeInter forKey:WHEEL_NUMBER];
    NSNumber *newWheelKey = [userDefaults valueForKey:WHEEL_NUMBER];

我用newWheelKey 存储图像。 viewdiddisappear时删除图片文件夹

【讨论】:

以上是关于在 UIwebview 中加载本地图像的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Swift 中的 UIWebView 中加载本地 PDF

如何使用 Xamarin iOS 在 UIWebView 中加载本地 xlsx 文件

如何在 iOS 8 Objective c 中的 UIWebView 中从文档中加载 png 图像

在 iOS 6 中渲染 PPT 文件

带有本地 HTML 文件的 UIWebView 不显示图像

iOS:如何在 webview 或 wkwebview 中加载动画 webp 图像