2013-10-11 29 views
2

我有下载文件的代码,并将其存储在文件夹:IOS - 然后下载文件显示它的UIWebView

NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:file.url]]; 
AFURLConnectionOperation *operation = [[AFHTTPRequestOperation alloc] initWithRequest:request]; 

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString *documentsDirectory = [paths objectAtIndex:0]; 
NSString *filePath = [NSString stringWithFormat:@"%@/%@", documentsDirectory, file.name]; 
operation.outputStream = [NSOutputStream outputStreamToFileAtPath:filePath append:NO]; 
[operation start]; 

当请求完成后,我想表明一个相同的文件UIWebView中使用此代码:

[operation setCompletionBlock:^{ 
    dispatch_sync(dispatch_get_main_queue(), ^{ 
    UIWebView* webView = [[UIWebView alloc] init]; 
    NSURL *targetURL = [[NSBundle mainBundle] URLForResource:file.nameWithoutExtension withExtension:@"pdf"]; 
    webView.delegate = self; 
    NSURLRequest *request = [NSURLRequest requestWithURL:targetURL]; 
    [webView loadRequest:request]; 

    ViewerVC* viewer = [[ViewerVC alloc] init]; 
    [viewer.view addSubview:webView]; 

    [self.navigationController pushViewController:viewer animated:FALSE]; 
}); 
}); 

但它不工作,在URL没有找到我刚刚下载的文件,我是在保存或搜索错了?

(代码是从我的实际代码略有不同理解的目的,但这个想法是一样的我甚至尝试了一些硬编码的URL这个例子,比如:http://www.selab.isti.cnr.it/ws-mate/example.pdf

回答

2

[[NSBundle mainBundle] URLForResource:file.nameWithoutExtension withExtension:@"pdf"]会给你从文件您的xcode项目文件夹

使用此

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString *fileName = [[paths objectAtIndex:0] stringByAppendingPathComponent:@"yourFileName.pdf"]; 

这将让你从Documents文件夹中的文件。

+1

谢谢!我可以使用第一个代码中的filePath!只是这样做:NSURL * targetURL = [NSURL fileURLWithPath:filePath];解决了我的问题。 – ViniciusPaiva

+0

@ViniciusPaiva请使用'YES'和'NO'代替'BOOL'的值而不是'false'或'FALSE'; – HAS

+0

很高兴你得到了解决方案.. –

相关问题