从本地 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
Xcode 和 WebView:如果没有 Internet 连接,则加载本地 html(后备)