how to download files from url and store in document folder [duplicate]
It is this simple my friend,
NSString *stringURL = @"http://www.somewhere.com/thefile.png";NSURL *url = [NSURL URLWithString:stringURL];NSData *urlData = [NSData dataWithContentsOfURL:url];if ( urlData ){ NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *documentsDirectory = [paths objectAtIndex:0]; NSString *filePath = [NSString stringWithFormat:@"%@/%@", documentsDirectory,@"filename.png"]; [urlData writeToFile:filePath atomically:YES];}
it advisable to execute the code in a separate thread.
EDIT 1: more info
1) for large file downloads,
-(IBAction) downloadButtonPressed:(id)sender;{ //download the file in a seperate thread. dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ NSLog(@"Downloading Started"); NSString *urlToDownload = @"http://www.somewhere.com/thefile.png"; NSURL *url = [NSURL URLWithString:urlToDownload]; NSData *urlData = [NSData dataWithContentsOfURL:url]; if ( urlData ) { NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *documentsDirectory = [paths objectAtIndex:0]; NSString *filePath = [NSString stringWithFormat:@"%@/%@", documentsDirectory,@"filename.png"]; //saving is done on main thread dispatch_async(dispatch_get_main_queue(), ^{ [urlData writeToFile:filePath atomically:YES]; NSLog(@"File Saved !"); }); } });}