AFNetworking如何检查上传操作是否已完成或失败
问题描述:
如何检查AFNetworking是否已完成文件的上传?我该如何检查是否有问题?AFNetworking如何检查上传操作是否已完成或失败
这是我的代码:
AFHTTPClient *client= [AFHTTPClient clientWithBaseURL:[NSURL URLWithString:@"http://server"]];
NSMutableDictionary *parameters = [NSMutableDictionary dictionary];
[parameters setObject:[fieldName text] forKey:@"name"];
[parameters setObject:[fieldSurname text] forKey:@"surname"];
NSMutableURLRequest *myRequest = [client multipartFormRequestWithMethod:@"POST" path:@"/upload.php" parameters:parameters constructingBodyWithBlock: ^(id <AFMultipartFormData>formData) {
[formData appendPartWithFileData:[[AttachedFile sharedAttachedFile]dataToSend] mimeType:@"image/jpeg" name:@"attach"];
}];
AFHTTPRequestOperation *operation = [[[AFHTTPRequestOperation alloc] initWithRequest:myRequest] autorelease];
[operation setUploadProgressBlock:^(NSInteger bytesWritten, NSInteger totalBytesWritten, NSInteger totalBytesExpectedToWrite) {
NSLog(@"Sent %d of %d bytes", totalBytesWritten, totalBytesExpectedToWrite);
}];
queue = [[[NSOperationQueue alloc] init] autorelease];
[queue addOperation:operation];
,我应该实现方法(和委托)?
谢谢!使用
答
[AFHTTPRequestOperation HTTPRequestOperationWithRequest:myRequest
success:(void (^)(id object))success
failure:(void (^)(NSHTTPURLResponse *response, NSError *error))failure];
代替
AFHTTPRequestOperation *operation = [[[AFHTTPRequestOperation alloc] initWithRequest:myRequest] autorelease];
当你的文件完全上传成功调用块。如果有问题,则调用故障块。
答
HTTPRequestOperationWithRequest已被弃用,你最好使用setCompletionBlockWithSuccess:在AFNetworking Uploading a file
上AFHTTPRequestOperation实例失败检查mattt的答案