在UIWebView中读取doc文件时出现异常

时间:2015-04-14 06:46:04

标签: ios

我正在尝试使用UIWebView读取.doc,.pdf文件。

这是读取上述文件的功能。但我的问题是这个函数只适用于.pdf文件。

 -(void)loadDocument:(NSString*)documentName inView:(UIWebView*)webView
{
   NSString *path = [[NSBundle mainBundle] pathForResource:documentName ofType:nil];
   NSURL *url = [NSURL fileURLWithPath:path];
   NSURLRequest *request = [NSURLRequest requestWithURL:url];
   [webView loadRequest:request];
   [webView setScalesPageToFit:YES];
   [self.view addSubview:webView];
}

否则它会在第二行抛出异常。因为mainBundle方法返回temp.doc文件的空路径。 实际上temp.doc和temp.pdf文件在同一目录中。

感谢您的帮助

1 个答案:

答案 0 :(得分:2)

添加file type以区分相同的文件名

NSString *path = [[NSBundle mainBundle] pathForResource:@"temp" ofType:@"pdf"]; 
//OR
NSString *path = [[NSBundle mainBundle] pathForResource:@"temp" ofType:@"doc"]; 

现在方法是

-(void)loadDocument:(NSString*)documentName withFileTye:(NSString*)strFileType inView:(UIWebView*)webView
{
   NSString *strFilePath = [[NSBundle mainBundle] pathForResource:documentName ofType:strFileType];
   //Check if strFilePath object contains filepath
   if(strFilePath.length>0)
   {
      NSURL *url = [NSURL fileURLWithPath:strFilePath];
      NSURLRequest *request = [NSURLRequest requestWithURL:url];
      [webView loadRequest:request];
      [webView setScalesPageToFit:YES];
      [self.view addSubview:webView];
   }
   else
   {
      NSLog(@"%@%@ doesnot exits",documentName,strFileType)
   }
}

注意:使用[[NSBundle mainBundle] pathForResource:ofType文件应该在应用程序包中,而不是在文档或temprary目录中

如果它显示文件不存在消息,则勾选该文件的Target Membership

enter image description here