Как мы можем загрузить файл с сервера в наш каталог документов в iphone? - PullRequest
1 голос
/ 07 октября 2009

Я хочу загрузить файл с сервера, используя API, так как я отправляю запрос, содержимое по этой ссылке попадает в каталог моих документов в iphone / ipod touch, и после загрузки можно удалить их из каталога документов. Есть ли способ сделать такие вещи.

Спасибо Balraj

Ответы [ 3 ]

3 голосов
/ 07 октября 2009
NSData *data = [NSData dataWithContentsOfURL:@"http://site.com/filename"];

NSArray  *docList = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentDir  = [docList objectAtIndex:0];
NSString *documentPath = [historicDocumentDir stringByAppendingPathComponent:@"filename"];

[data writeToFile:documentPath atomically:NO];

Добавить проверку ошибок.

3 голосов
/ 07 октября 2009

Чтобы удалить файл из папки с документами, используйте:

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *path = [documentsDirectory stringByAppendingPathComponent:fileName];
[[NSFileManager defaultManager] removeItemAtPath:path error:nil];
3 голосов
/ 07 октября 2009

Самый простой способ - использовать ASIHTTPRequest и делать:

ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];
[request setDelegate:self];
[request setDownloadDestinationPath:@"{path to file in documents folder}"]];
[request startAsynchronous];

...

- (void)requestFinished:(ASIHTTPRequest *)request 
{
 // Downloaded file is ready for use
}

- (void)requestFailed:(ASIHTTPRequest *)request
{
 // Download failed. This is why.
 NSError *error = [request error];
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...