Iphone PDF скачать - PullRequest
       1

Iphone PDF скачать

0 голосов
/ 05 апреля 2011
        -(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 файла, по которому запрос завершен.Какие-нибудь решения для этого?

Ответы [ 2 ]

2 голосов
/ 05 апреля 2011

Чтобы проверить, существует ли файл, используйте:

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

Чтобы отобразить PDF после завершения запроса, вы можете либо открыть его в UIWebView, либо использовать набор функций CGPDF*

ASIHTTPRequest's setDownloadDestinationPath ожидает получения абсолютного пути к файлу, и кажется, что вы просто вместо этого передаете каталог документов.Вы можете получить имя файла из вашего URL и добавить его в путь к каталогу документов:

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

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

[request setDownloadDestinationPath:destPath];

Затем, чтобы проверить, существует ли загруженный файл, вы можете снова использовать destPath.

0 голосов
/ 05 апреля 2011

проверьте это , я сделал это для изображения, но вы можете легко изменить его, чтобы сделать PDF.Надеюсь, это поможет.

...