iphone pdf 下载 [英] iphone pdf download

查看:22
本文介绍了iphone pdf 下载的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

        -(IBAction)click;
    {

            NSURL *url = [NSURL URLWithString:URL_TO_DOWNLOAD]; 
            NSString *tempDownloadPath = [[self documentsDirectory] 
                                          stringByAppendingPathComponent:@"test.pdf"]; 
            ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url]; 
            [request setDownloadDestinationPath:[self documentsDirectory]]; 
            [request setTemporaryFileDownloadPath:tempDownloadPath]; 
            [request setDelegate:self]; 

  [request startAsynchronous]; 


        } 

    - (void)requestFinished:(ASIHTTPRequest *)request 
        { 
            NSLog(@"requestFinished"); 
            NSError *error; 
            NSFileManager *fileManager = [[NSFileManager alloc] init]; 
            NSLog(@"Documents directory: %@", [fileManager 
                                               contentsOfDirectoryAtPath:[self 
                                                                          documentsDirectory] error:&error]); 
            NSString *dir = [self documentsDirectory]; 
            NSLog(dir); 
            // NSData *responseData = [request responseData]; 
            NSArray *array = [[NSFileManager defaultManager] 
                              contentsOfDirectoryAtPath:dir error:&error]; 
            if (array == nil) { 
                NSLog(@"array == nil"); 
            } 
else
{
[aWebView loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:tempDownloadPath]]];
        [[self view] addSubview:aWebView];  
}

            [fileManager release]; 
                } 

    - (NSString *)documentsDirectory { 
            NSArray *paths = 
            NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, 
                                                NSUserDomainMask, 
                                                YES); 
            return [paths objectAtIndex:0]; 
        } 

在单击再次下载之前,我无法检查文件是否存在,或者实际显示请求已完成的 pdf.有什么解决办法吗?

I cant manage to check if the file exists before downloading again with an click, or actually displaying the pdf one the request has finished. Any solutions to this ?

推荐答案

要检查文件是否存在,请使用:

To check if the file exists, use:

BOOL exists = [[NSFileManager defaultManager] fileExistsAtPath:file]

要在请求完成后显示 PDF,您可以在 UIWebView 中打开它或使用 CGPDF* 函数集来呈现它.

To display the PDF once the request has finished, you can either open it in a UIWebView or use the CGPDF* set of functions to render it.

ASIHTTPRequest 的 setDownloadDestinationPath 期望接收绝对文件路径,而您似乎只是传递了文档目录.您可以从 URL 获取文件名并将其附加到文档目录路径:

ASIHTTPRequest's setDownloadDestinationPath expects to receive an absolute file path, and it seems you're just passing the documents directory instead. You could get the filename from your URL and append it to the documents directory path:

NSString *filename = [[url absoluteString] lastPathComponent];

NSString *directory = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES) objectAtIndex:0];
NSString *destPath = [directory stringByAppendingPathComponent:filename];

[request setDownloadDestinationPath:destPath];

然后要检查下载的文件是否确实存在,您可以再次使用destPath.

Then to check if the downloaded file actually exists, you can use destPath again.

这篇关于iphone pdf 下载的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆