0

我正在尝试下载、保存并再次显示图像。我设法将其下载并存储到文档目录中。所以现在如果我带着 finder 去那里,我可以看到那些图像。现在我正在尝试将其加载到 Web 视图中。为此,我使用这些代码:

[webview loadHTMLString:simpleHtml baseURL:nil];

在我的简单 html 中,我有:

<html><head></head><body>
<img src='/Users/user/Library/Application Support/iPhone Simulator/5.1/Applications/45584ECD-021A-4789-8936-6A0012242380/Documents/image.png' />
</body></html>

它加载但它显示一个问号,就像那个目录中没有图像一样。(图像在那里是因为我可以在finder中找到它......)

顺便说一句 simpleHtml 是 NSString 不是文件夹...

4

3 回答 3

2

你可以检查一下它会对你有所帮助。

NSString *path = [[NSBundle mainBundle] bundlePath];

NSURL *baseURL = [NSURL fileURLWithPath:path];

[webView loadHTMLString:htmlString baseURL:baseURL];

然后,您可以像这样引用您的图像:

或者你可以参考这个链接:

http://iphoneincubator.com/blog/windows-views/uiwebview-revisited

于 2012-09-26T12:54:16.550 回答
1
    NSString *documentsDirectory = [paths objectAtIndex:0];
    NSString *ImagePath = [documentsDirectory stringByAppendingPathComponent:@"yourimage.png"];

在您的 html 字符串中使用上面的“ImagePath”。而不是使用 'loadHTMLString' 使用以下 webview 方法

[webView loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:imagePath]]];
于 2012-09-26T12:41:59.957 回答
1

我终于让它工作了,但它不适用于 html。我现在使用图像数据。

NSData *imageData = [NSData dataWithContentsOfFile:image];
[webview loadData:imageData MIMEType:@"image/gif" textEncodingName:nil baseURL:nil];

现在我找到了另一个更好的解决方案:对于我的原始 html 字符串,我需要添加前缀文件:。所以我现在有:

<img src="file:/path">

它就像一个魅力!

于 2012-09-26T14:21:25.933 回答