2013-07-13 66 views
0

我使用web视图加载存储在我的应用程序库目录中的图像文件,首先我想利用resourcePath,并捆绑路径加载图像失败

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

问题是不管我的设置的baseUrl,我无法正确加载图像,我也尝试过文件路径:

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

,但如果我在HTML设置图像文件的绝对路径,所有的事情就可以了,我不知道为什么?

+0

提示:NSLog的结果HTML字符串,看看为什么。 – magma

+0

我得到了错误的文件名在html ..这是好的,如果我把图像目录正确地进入baseURL: NSArray * paths = NSSearchPathForDirectoriesInDomains(NSCachesDirectory,NSUserDomainMask,YES); NSString * path = [paths objectAtIndex:0]; path = [path stringByAppendingPathComponent:@“/ ImageCache”]; – zolibra

回答

1

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

顶端回答明确表示,使用文件:路径是指图像不UIWebView的工作。

所有你需要做的就是传递基路径。例如:

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

然后只需要像这样引用它:<img src="myimage.png">

+0

我看到帖子,但这对我没有好处。在我的情况下,我的图像文件存储在包路径中,它存储在./Library/Caches/ – zolibra

+0

你试过删除文件关键字吗?因为baseURL会处理它。 – lakesh

+0

谢谢,问题是在html和dir文件名不一样...,无论如何,答案帮助,谢谢 – zolibra