我正在尝试使用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文件在同一目录中。
感谢您的帮助
答案 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
。