gpt4 book ai didi

ios - 在 UIWebViw 中读取文档文件时出现异常

转载 作者:行者123 更新时间:2023-11-28 21:47:22 26 4
gpt4 key购买 nike

我正在尝试使用 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 文件在同一目录中。

感谢帮助

最佳答案

添加filetype以区分同名文件

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 文件应该在应用程序包中而不是在文档或临时目录中

如果显示文件不存在消息,则检查是否为该文件勾选了Target Membership

enter image description here

关于ios - 在 UIWebViw 中读取文档文件时出现异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29620822/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com