Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 以后如何使用UIWebView显示下载的文件?_Iphone_File_Ipad_Uiwebview_Offline - Fatal编程技术网

Iphone 以后如何使用UIWebView显示下载的文件?

Iphone 以后如何使用UIWebView显示下载的文件?,iphone,file,ipad,uiwebview,offline,Iphone,File,Ipad,Uiwebview,Offline,如何格式化NSURL(什么路径或路径生成器函数),以便显示下载的本地文件(不是应用程序NSBundle的一部分)供脱机使用?其想法是拦截一个HTML文件,将其清理并保存在iFoo应用程序特定的存储区域中,然后使用UIWebView显示它 接下来,我将转到RTFM,了解如何在iFoo(iPhone/iPad)上处理文件,但任何快速入门的技巧都值得赞赏。您可以在完成下载后以字符串形式读取本地文件,然后使用UIWebView从该字符串加载HTML。使用相对路径并设置正确的baseURL: NSArra

如何格式化NSURL(什么路径或路径生成器函数),以便显示下载的本地文件(不是应用程序NSBundle的一部分)供脱机使用?其想法是拦截一个HTML文件,将其清理并保存在iFoo应用程序特定的存储区域中,然后使用UIWebView显示它


接下来,我将转到RTFM,了解如何在iFoo(iPhone/iPad)上处理文件,但任何快速入门的技巧都值得赞赏。

您可以在完成下载后以字符串形式读取本地文件,然后使用UIWebView从该字符串加载HTML。使用相对路径并设置正确的
baseURL

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString *yourFolderPath = [[paths objectAtIndex:0] stringByAppendingPathComponent: @"yourFolder"];
NSString *filePath = [yourFolderPath stringByAppendingPathComponent: @"yourFile.htm"];
NSString *fileContents = [NSString stringWithContentsOfFile: filePath];
NSURL *baseURL = [NSURL fileURLWithPath: yourFolderPath];
[yourWebView loadHTMLString: fileContents baseURL: baseURL];

您可以在完成下载后以字符串形式读取本地文件,然后使用UIWebView从该字符串加载HTML。使用相对路径并设置正确的
baseURL

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString *yourFolderPath = [[paths objectAtIndex:0] stringByAppendingPathComponent: @"yourFolder"];
NSString *filePath = [yourFolderPath stringByAppendingPathComponent: @"yourFile.htm"];
NSString *fileContents = [NSString stringWithContentsOfFile: filePath];
NSURL *baseURL = [NSURL fileURLWithPath: yourFolderPath];
[yourWebView loadHTMLString: fileContents baseURL: baseURL];

谢谢,这很有趣。然而,我更愿意将一个HTML文件和任何相关联的CSS(等等)放在一个目录中(或者iFoo使用的任何东西代替目录/文件夹)。我想真正的问题仍然是隐藏文件,然后提供该文件的路径名。不幸的是,我太无知了。(不过,这是一个很酷的技巧,可以让您为文本外的相对路径提供上下文/文件夹/目录)。@Roboprog我编辑了我的答案,以解决您的问题。您应该为html文件中的css和图像使用相对文件路径,以便设置UIWebView的loadHTMLString的baseURL可以在其指向的特定文件夹中搜索文件。再次感谢更新。它看起来像NSDocumentDirectory(可能是嵌套在NSHomeDirectory下的“/Documents”)可以用来拼凑一个NSURL来完成这项工作。现在来生成一些虚假内容并尝试一下!谢谢,这很有趣。然而,我更愿意将一个HTML文件和任何相关联的CSS(等等)放在一个目录中(或者iFoo使用的任何东西代替目录/文件夹)。我想真正的问题仍然是隐藏文件,然后提供该文件的路径名。不幸的是,我太无知了。(不过,这是一个很酷的技巧,可以让您为文本外的相对路径提供上下文/文件夹/目录)。@Roboprog我编辑了我的答案,以解决您的问题。您应该为html文件中的css和图像使用相对文件路径,以便设置UIWebView的loadHTMLString的baseURL可以在其指向的特定文件夹中搜索文件。再次感谢更新。它看起来像NSDocumentDirectory(可能是嵌套在NSHomeDirectory下的“/Documents”)可以用来拼凑一个NSURL来完成这项工作。现在来生成一些虚假内容并尝试一下!