当用户按下按钮时,我需要从url下载一个文件。如果用户立即按下另一个按钮需要在完成第一个文件后下载该文件。如果按第三个按钮也需要下载该文件。如何实现这一点AFNetworking? 这里我的代码示例下载file.Thanks提前。
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
manager.responseSerializer = [AFCompoundResponseSerializer serializer];
manager.responseSerializer.acceptableContentTypes = [NSSet setWithObjects:@"application/octet-stream",@"video/3gpp",@"audio/mp4",nil];
AFHTTPRequestOperation *operation = [manager GET:[array objectAtIndex:0] parameters:nil success:^(AFHTTPRequestOperation *operation, id responseObject) {
if (responseObject) {
NSData *data=[[NSData alloc] initWithData:responseObject];
NSLog(@"Download Succesfully Completed");
//after completion I'm implementing my method here
[self sentMsgSaveWithData:data orUrl:@"" withBool:YES withMsg_ID:@"" withDict:tempDict];
} else {
NSLog(@"Download Error");
}
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"Download Error %@",error.localizedDescription);
}];
[operation start];
答案 0 :(得分:0)
尝试使用默认配置的会话:
NSURLSessionConfiguration *configuration = [NSURLSessionConfiguration defaultSessionConfiguration];
AFURLSessionManager *manager = [[AFURLSessionManager alloc] initWithSessionConfiguration:configuration];
NSURL *URL = [NSURL URLWithString:@"http://example.com/download.zip"];
NSURLRequest *request = [NSURLRequest requestWithURL:URL];
NSURLSessionDownloadTask *downloadTask = [manager downloadTaskWithRequest:request progress:nil destination:^NSURL *(NSURL *targetPath, NSURLResponse *response) {
NSURL *documentsDirectoryURL = [[NSFileManager defaultManager] URLForDirectory:NSDocumentDirectory inDomain:NSUserDomainMask appropriateForURL:nil create:NO error:nil];
return [documentsDirectoryURL URLByAppendingPathComponent:[response suggestedFilename]];
} completionHandler:^(NSURLResponse *response, NSURL *filePath, NSError *error) {
NSLog(@"File downloaded to: %@", filePath);
}];
[downloadTask resume];