将本地图像直接加载到没有HTML的UIWebView?
我想加载一个本地图像文件到UIWebView。是否需要创建一个HTML文件并将图像加载到该文件中,或者是否可以直接将图像加载到网页视图中?将本地图像直接加载到没有HTML的UIWebView?
这是我目前用来将图像加载到网络视图中的代码,但它显示为空白。
NSURL *url = [NSURL fileURLWithPath:localFilePath isDirectory:NO];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
[self.webView loadRequest:request];
UIWebView
有loadData:MIMEType:textEncodingName:baseURL:
方法。而不是在它的图像编写HTML,你可以做一些简单的像这样
NSData *imageData = [NSData dataWithContentsOfURL:fileURL];
[self.webView loadData:imageData MIMEType:@"image/..." textEncodingName:@"utf-8" baseURL:nil];
输入图像是MIMEType
说法应改为无论MIME。 (例如,jpeg是image/jpeg
)
你为什么要把图像加载到UIWebView
?这对我来说似乎是一种浪费。话虽如此,我诚实地说,做你想做的事情的最简单方法是添加一个UIImageView
作为该Web视图的子视图。
你也可以做到这一点,我认为,如果你想注入的HTML字符串参考存储在您的捆绑图片:
// Given a UIWebView property called webView, and
// an image named "foo.png" in your main bundle.
NSString *bundlePath = [[NSBundle mainBundle] bundlePath];
NSURL *bundlePathURL = [NSURL fileURLWithPath:bundlePath];
[webView loadHTMLString:@"<img src=\"foo.png\" />" baseURL:bundlePathURL]; // Where foo.png is at that path, hopefully.
那里的代码仍然未经测试,但我认为应该这样做。重要的是baseload部分的-loadHTMLString:baseURL:方法调用。这告诉web视图,HTML体中的任何相对引用都应该看这个目录。 – josefdlange 2015-04-01 00:52:13
图片只是其中一种可能的选项,我也会看到PDF文件,我相信可以通过网页浏览完成。 – 2015-04-01 23:09:08
谢谢你的回答。当我下载UIWebView可以处理的其他文件类型时,它也适用于我。 – 2015-04-01 23:37:41