我正在做一个应用程序,我正在下载文件并将其保存在文档目录中因此,当用户下次使用应用程序时,他可以直接打开已经下载的文件
我在UIWebView
中使用以下代码在下一个屏幕上显示该文件:
NSURLRequest *urlRequest = [NSURLRequest requestWithURL:self.url]; // where url is url of file in documents directory
[webView loadRequest:urlRequest];
对于扩展名为pdf的文件来说,这是完美的,但也有一些扩展名为asp的文件当我试图打开这些文件,我得到这个错误误差
域名=WebKitErrorDomain Code=102 "Frame load interrupted"用户信息= 0 x9b58fa0
{NSErrorFailingURLKey =文件:///用户/poonam/图书馆/iPhone应用程序% 20支持/% 20模拟器/7.1/应用程序/7 ee726e5 - 5315 4 - bee - 9629 f85fbcd46bc3/文件/V2_076eb8847184be9e441f1bed7cc1a705.asp,NSErrorFailingURLStringKey =文件:///用户/poonam/图书馆/应用程序% 20支持/iPhone模拟器% 20/7.1/应用程序/7 ee726e5 - 5315 4 - bee - 9629 f85fbcd46bc3/文件/V2_076eb8847184be9e441f1bed7cc1a705.asp,NSLocalizedDescription=帧加载中断}
为了解决这个问题,我尝试了
- (BOOL)webView:(UIWebView *)theWebView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
{
if ([url.scheme isEqualToString:@"file"]) {
NSLog(@"Open start page");
[[UIApplication sharedApplication] openURL:url];
return NO;
}
return YES;
}
但是,然而,我不能解决我的问题。如有任何建议,请参考
最后花了几个小时,在这里我找到了解决这个常见的Webview"帧加载中断"问题的方法:
- 下载字节格式的文件
- 存储在本地存储
- 在Web视图中用本地路径加载文件,它可以工作
以上步骤的代码:https://stackoverflow.com/a/59194408/12483992
回答晚了,但这可能对某些人有用。我得到了同样的错误这是因为我没有意识到我在
中返回了falsefunc webView(_ webView: UIWebView, shouldStartLoadWith request: URLRequest, navigationType: UIWebViewNavigationType) -> Bool
在我的UIWebView委托中。改成
return true
修复了这个问题和
func webViewDidFinishLoad(_ webView: UIWebView)