Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save kristopherjohnson/5262561 to your computer and use it in GitHub Desktop.
Save kristopherjohnson/5262561 to your computer and use it in GitHub Desktop.
Example of using AFNetworking to download a file (copied from https://github.com/AFNetworking/AFNetworking/issues/589)
- (IBAction)downloadFile:(id)sender {
NSURL *url = [NSURL URLWithString:@"http://www.hulkshare.com/dl/qw30o7x373a8/stan_courtois_&_felly_vs_cutting_crew_-_die_in_your_arms_(x-centrik_mix)_%5B_www.themusix.net_%5D.mp3"];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation alloc] initWithRequest:request];
NSString *fullPath = [NSTemporaryDirectory() stringByAppendingPathComponent:[url lastPathComponent]];
[operation setOutputStream:[NSOutputStream outputStreamToFileAtPath:fullPath append:NO]];
[operation setDownloadProgressBlock:^(NSUInteger bytesRead, long long totalBytesRead, long long totalBytesExpectedToRead) {
NSLog(@"bytesRead: %u, totalBytesRead: %lld, totalBytesExpectedToRead: %lld", bytesRead, totalBytesRead, totalBytesExpectedToRead);
}];
[operation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) {
NSLog(@"RES: %@", [[[operation response] allHeaderFields] description]);
NSError *error;
NSDictionary *fileAttributes = [[NSFileManager defaultManager] attributesOfItemAtPath:fullPath error:&error];
if (error) {
NSLog(@"ERR: %@", [error description]);
} else {
NSNumber *fileSizeNumber = [fileAttributes objectForKey:NSFileSize];
long long fileSize = [fileSizeNumber longLongValue];
[[_downloadFile titleLabel] setText:[NSString stringWithFormat:@"%lld", fileSize]];
}
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"ERR: %@", [error description]);
}];
[operation start];
}
@ReddySanthosh
Copy link

The same code i ran but only 30 kb is getting downloaded out of 3.6 mb, please some one help me

@briansonnguyen
Copy link

very clear, thanks.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment