2016-02-03 29 views
0

我试图从服务器URL中查看.doc文件,它给我“无法读取文档,发生错误”异常(我正在使用Xcode 7.0) I '尝试像这样下面,加载或查看Ios中的UIWebview中的.doc文件

NSURL *myUrl = [NSURL URLWithString:urlString]; 
[webView setDelegate:self]; 
NSURLRequest *myRequest = [NSURLRequest requestWithURL:myUrl]; 
[webView loadRequest:myRequest]; 

当我尝试加载.pdf或图像文件的路径,正常工作。 请建议我做到这一点。

谢谢先进。

+0

一旦保存在iPhone上的文件,然后尝试使用UIDocumentinteractionController或QLPreviewController – nikhil84

+1

[显示PPT,DOC,XLS和在UIWebView中不工作,但确实PDF(HTTP的可能重复它打开://计算器.com/questions/2520137/displays-ppt-doc-and-xls-in-uiwebview-doesnt-work-but-pdf-does) –

+0

@ nikhil84 ...这里我没有在设备中保存文档。我在webview中直接加载。 –

回答

3
-(void)openFileUsingExtension:(NSString*)extension { 
     NSString *path = [NSString stringWithFormat:@"%@temp.%@",NSTemporaryDirectory(),extension]; 
     NSLog(@"%@",path); 

     if ([objectFromNSData writeToFile:path atomically:YES]) { 
      NSLog(@"written"); 

      NSURL *url = [NSURL fileURLWithPath:path]; 
      NSURLRequest *request = [NSURLRequest requestWithURL:url]; 
      [self.webview loadRequest:request]; 
      self.webview.scalesPageToFit = YES; 
      self.webview.delegate = self; 
      [self.view addSubview:self.webview]; 
     } 
    } 

then you can remove the file inside the UIWebViewDelegate method: 

- (void)webViewDidFinishLoad:(UIWebView *)webView{ 
    NSString *path = [NSString stringWithFormat:@"%@temp.%@",NSTemporaryDirectory(),extension]; 
    [[NSFileManager defaultManager] removeItemAtPath:path error:nil]; 
} 
+0

我可以知道什么是“objectFromNSData”吗? –

+0

NSURL * urlfile = [NSURL URLWithString:YourUrlString]; NSData * ObjectFromData = [NSData dataWithContentsOfURL:urlfile]; 这里ObjectFromData表示NSData对象 –