我是iphone开发的新手。我正在开发一个iphone应用程序,其中我使用Web服务下载文件,代码如下:
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *basePath = [paths objectAtIndex:0];
NSString *fileLoc = [basePath stringByAppendingString:@"/filename.pdf"];
NSData *fileData = [self decodeBase64WithString:soapResults];
[fileData writeToFile:fileLoc atomically:YES];
我的文件在路径中:/ Users / myusername / Library / Application Support / iPhone Simulator / 4.0 / Applications / 7A627E64-DEAB-40FA-BE04-35ED50580B65 / filename.pdf
如何使用uiwebview打开此文件???我试过这个:
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *basePath = [paths objectAtIndex:0];
NSString *fileLoc = [basePath stringByAppendingString:@"/filename"];
[self loadDocument:fileLoc inView:mywebview];
我的loadDocument方法是:
-(void)loadDocument:(NSString*)documentName inView:(UIWebView*)webView
{
NSString *path = [[NSBundle mainBundle] pathForResource:documentName ofType:@"pdf"];
NSURL *url = [NSURL fileURLWithPath:path];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
[webView loadRequest:request];
}
但它显示错误......我认为位置是问题..如何在模拟器中找到路径以及在orignal设备中???
请帮帮我......
答案 0 :(得分:2)
pathForResource:ofType:
只能用于加载资源文件,这些文件作为应用程序包的一部分提供。您正在尝试从Documents目录中加载下载的文件。所以你应该能够做到
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *basePath = [paths objectAtIndex:0];
NSString *fileLoc = [basePath stringByAppendingString:@"/filename.pdf"];
NSURL *url = [NSURL fileURLWithPath:fileLoc];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
[webView loadRequest:request];
答案 1 :(得分:0)
你得到的错误是什么?您的loadDocument
方法是什么样的?您应该将文档加载到WebView中,如下所示:
[webView loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:fileLoc]]];