从本地 HTML Xcode 加载本地图像

Posted

技术标签:

【中文标题】从本地 HTML Xcode 加载本地图像【英文标题】:Loading local images from local HTML Xcode 【发布时间】:2016-07-15 08:01:26 【问题描述】:

上下文:用 Obj-C 编写的 ios 应用程序。

我正在尝试加载带有本地图像的本地 html 文件。

HTML 文件存储在名为 pages 的目录中。图像存储在名为 images 的目录中。这是项目的文件夹结构:

/ -/ 图片 -/ 页面 其他文件

“pages”和“images”目录都列在我的项目中以及我的项目构建阶段的 Copy Bundle Resources 下。当我在那里右键单击它们时,我可以在 Finder 中显示它们并查看所有单独的 .html 和 .jpg 文件。

我的代码有几个问题,主要问题是,即使正在加载 html 页面,但通过 img 标签链接的图像却没有。

我试过了

这是加载没有图像的 HTML 页面的代码(我几乎可以肯定这个特定的代码过去可以工作):

// Linkpath is the path to the HTML file
NSData *htmlData = [NSData dataWithContentsOfFile:linkPath];
if (htmlData) 
    [webWiki loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:linkPath]]];

这是一个示例 HTML 页面: http://pastebin.com/b1KTZS6A


以下是我已经尝试过的一些解决方案:

One:

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

NSString* newStr = [[NSString alloc] initWithData:htmlData encoding:NSUTF8StringEncoding];
[webWiki loadHTMLString:newStr baseURL:baseURL];

Two

【问题讨论】:

【参考方案1】:

我猜你的问题是关于 XCode 中的文件夹类型。这是有关文件夹类型https://developer.apple.com/library/ios/recipes/xcode_help-structure_navigator/articles/Adding_an_Existing_File_or_Folder.html的文档说明

所以问题是在 Xcode 中,有两种类型的文件夹:组和文件夹引用。组是黄色的,文件夹引用是蓝色的。对于本地 HTML,您必须将其用作“文件夹参考”以将其结构保留在实际文件系统上。因此,您的图片链接不会被破坏。

我希望这会有所帮助。

【讨论】:

This is how it's organised on my side @edoreld 是因为您的数据库文件夹需要作为文件夹引用并放入资源文件夹。因为我曾经像这样获取图像的完整路径代码 NSString *fullPath = [[NSBundle mainBundle] pathForResource:@"someImageFile.png" ofType:nil inDirectory:@"FolderA"]; UIImage *image = [UIImage imageWithContentsOfFile:fullPath];

以上是关于从本地 HTML Xcode 加载本地图像的主要内容,如果未能解决你的问题,请参考以下文章

如何在本地从 Xcode 导航器加载 XML 文件 - iOS

iPhone - 从本地 xml 文件加载本地图像

Xcode 和 WebView:如果没有 Internet 连接,则加载本地 html(后备)

为远程 html 页面从 Android 中的本地资产加载 jQuery

无法从 React.js 中的本地库加载图像

从 URL 加载图像并使用 Swift4 将它们存储在本地