将网页加载到UIwebview中,但是从本地加载图像

时间:2011-04-13 10:09:20

标签: iphone uiwebview

我的网页有1000个图像和值。每当我将页面加载到UIWebView时,它都会加载值,但由于图像太多,下载需要时间。

那么有什么办法,我可以从网上下载页面,但是可以从本地下载图片。

非常感谢任何帮助。

谢谢,

安基塔

3 个答案:

答案 0 :(得分:4)

如果你有来自网络服务器的HTML和本地的图像

  
      
  1. yourBaseURL = [[NSURL alloc] initFileURLWithPath:[[NSBundle mainBundle] bundlePath]];

  2.   
  3. [webView loadHTMLString:@“YourHTML”baseURL:yourBaseURL]

  4.   

并且您的HTML包含存储的本地图像的名称,如

  

图像标记 - > imgage src ='fig1.jpg width = 150 height = 150 align =“left”

这应该有效。

不完全按照您的要求,您可以在webView中加载本地图像。

答案 1 :(得分:1)

基本上:

从服务器下载HTML。

NSURL *URL = [[NSURL alloc] initWithString:@"http://www.example.com/page.php"];
NSError *error = nil;
NSStringEncoding encoding;
NSString *theSource = [[NSString alloc] initWithContentsOfURL:URL usedEncoding:&encoding error:&error];

替换文件引用以在本地加载图像 注意双斜线,这似乎很重要。

// Replace:
<img src="File.png">
// By something like:
<img src="file://Path//To//Resources//File.png">

详细信息如何操作(Joe D'Andrea的帖子):
Link to resources inside WebView - iPhone

最后让UIWebView加载HTML:

[webView loadHTMLString:htmlString baseURL:baseURL];

现在它应该从服务器加载带有本地图像的“新鲜”HTML。

答案 2 :(得分:0)

这对我很有用。

NSURL *myBaseURL = [[NSURL alloc] initFileURLWithPath:[[NSBundle mainBundle] bundlePath]];
NSString *myString = [[managedObject valueForKey:@"long_presentation"] stringByReplacingOccurrencesOfString:@"/FooFolder/BarFolder" withString:[NSString stringWithFormat:@"%@/FooFolder/BarFolder", [[NSBundle mainBundle] bundlePath] ] ];
[attractionWebView loadHTMLString:myString baseURL:myBaseURL];

我必须包含替换图像源

img src="FooFolder/BarFolder/my_image.jpg" ...

获得正确的道路。