скачать PDF и сохранить его в приложении - PullRequest
0 голосов
/ 25 декабря 2010

В моем приложении мне нужно подключиться с помощью URL-адреса и загрузить файл PDF. Я попытался с [uiapplication sharedapplication: URL]; но это совсем не работа для меня. Так может кто-нибудь предложить мне, как скачать PDF и сохранить его в моем приложении ??

Спасибо всем.

1 Ответ

2 голосов
/ 25 декабря 2010

Не очень удачное, но простое в реализации решение - синхронная загрузка.Например, чтобы загрузить корневую страницу Google, вы можете сделать:

NSData *d = [[NSData alloc] initWithContentsOfURL:[NSURL URLWithString:@"http://www.google.com"]];
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *file = [documentsDirectory stringByAppendingPathComponent:@"goog.html"];
[d writeToFile:file atomically:YES];

Это не очень хорошо по двум причинам:

  1. Он хранит файл в памяти, поэтому не будет работать для больших файлов
  2. Это синхронно, поэтому, если вы запустите это в главном потоке, оно заморозит ваше приложение во время загрузки

Лучшее решение - использовать NSURLConnection и выполнять асинхронную загрузку.В вашем делегате NSURLConnection создайте файл, когда загрузка начнется, и добавьте данные в соединение - (void): (NSURLConnection *), метод didReceiveData: (NSData *) d.Посмотрите на классы NSURLConnection, NSFileManager и NSFileHandle.

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