Как сохранить файл PDF, загруженный в UIWebView в моем каталоге документов? - PullRequest
1 голос
/ 20 февраля 2012

В настоящее время я определяю, загружает ли UIWebView файл PDF, проверяя текущий URL-адрес.Затем я загружаю файл PDF с библиотекой ASIHTTPRequest.Проблема в том, что если файл отображается в UIWebView, он уже загружен куда-то, поэтому я скачиваю этот файл дважды.Как я могу загрузить этот файл в свой UIWebView?

Цель - сохранить этот файл, загруженный в мой UIWebView, в моем каталоге документов.

Ответы [ 2 ]

1 голос
/ 21 сентября 2012

Вот как вы можете загружать, читать и хранить ваш pdf локально в приложении iphone, чтобы вам не приходилось регулярно скачивать:

Сначала создайте UIWebView и включите << <strong>UIWebViewDelegate >>

  NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES);
  NSString *documentsPath = [paths objectAtIndex:0];
  NSString *filePath = [documentsPath stringByAppendingPathComponent:@"YourPDF.pdf"]; 
 if(![[NSFileManager defaultManager] fileExistsAtPath:filePath]){ // if file not present
           // download file , here "https://s3.amazonaws.com/hgjgj.pdf" = pdf downloading link
         NSData *pdfData = [[NSData alloc] initWithContentsOfURL:[NSURL URLWithString:@"https://s3.amazonaws.com/hgjgj.pdf"]];
            //Store the downloaded file  in documents directory as a NSData format
         [pdfData writeToFile:filePath atomically:YES];
    }

     NSURL *url = [NSURL fileURLWithPath:filePath];
     NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];
     [yourWebView setUserInteractionEnabled:YES];
     [yourWebView setDelegate:self];
     yourWebView.scalesPageToFit = YES;
     [yourWebView loadRequest:requestObj];

Или, если вы просто хотите прочитать / загрузить pdf из папки Resource, то просто сделайте следующее:

     NSString*  filePath= [[NSBundle mainBundle] pathForResource:@"sample" ofType:@"pdf"]];
    /// or you can even read docs file as : pathForResource:@"sample" ofType:@"docx"]
     NSURL *url = [NSURL fileURLWithPath:filePath];
     NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];
     [yourWebView setUserInteractionEnabled:YES];
     [yourWebView setDelegate:self];
     yourWebView.scalesPageToFit = YES;
     [yourWebView loadRequest:requestObj];
0 голосов
/ 20 февраля 2012

Все, что я могу предложить, это либо загрузить его во второй раз, либо поместить его во временное хранилище, а затем поместить его в UIWebView, и, когда пользователь спросит, затем поместить его в нужное место из временного хранилища.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...