【问题标题】:Load Image from UIwebview fail从 UIwebview 加载图像失败
【发布时间】:2013-07-13 15:10:32
【问题描述】:

我正在使用 Webview 加载存储在我的应用程序库目录中的图像文件,首先我尝试使用 resourcePath 和捆绑路径

NSString * html = [[NSString alloc] initWithFormat:@"<img src=\"file://%@\"/>", filename];
[self.webView loadHTMLString:newhtml  baseURL:[NSURL fileURLWithPath:[[NSBundle mainBundle] resourcePath]]];

问题是无论我在baseUrl中设置什么,我都无法正确加载图像,我也尝试了filePath:

[self.webView loadHTMLString:newhtml  baseURL:[NSURL fileURLWithPath:[[NSBundle mainBundle] filePath]]];

但是如果我在html中设置图片文件的绝对路径,一切正常,不知道为什么?

【问题讨论】:

  • 提示:NSLog 生成的 html 字符串,看看为什么。
  • 我在 html 中得到了错误的文件名。如果我将图像目录正确地放入 baseURL 就可以了: NSArray *paths = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES); NSString *path = [paths objectAtIndex:0]; path = [path stringByAppendingPathComponent:@"/ImageCache"];

标签: ios uiwebview


【解决方案1】:

看看这个帖子:Using HTML and Local Images Within UIWebView

上面的答案清楚地表明,使用 file: 引用图像的路径不适用于 UIWebView。

您需要做的就是传递基本路径。示例:

NSString *path = [[NSBundle mainBundle] bundlePath];
NSURL *baseURL = [NSURL fileURLWithPath:path];
[webView loadHTMLString:htmlString baseURL:baseURL];

然后只需要像这样引用它:&lt;img src="myimage.png"&gt;

【讨论】:

  • 我看到了帖子,但这对我没有好处。就我而言,我的图像文件存储在捆绑路径中,它存储在 ./Library/Caches/
  • 您是否尝试删除文件关键字?因为baseURL会处理它。
  • 谢谢,问题是html中的文件名和目录不一样...,无论如何,答案帮助,谢谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-12-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-06-04
  • 1970-01-01
相关资源
最近更新 更多