1
我想使用AFNetworking
POST表单数据。我用这一段代码来实现这一目标:AFNetworking表格数据上传问题
// Create service request url
NSString *urlString = [NSString stringWithFormat:@"%@%@", kBaseURL, webServiceAPIName];
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
[manager.requestSerializer setValue:@"myUser" forHTTPHeaderField:@"X-User-Agent"];
[manager.requestSerializer setValue:@"multipart/form-data" forHTTPHeaderField:@"Content-Type"];
manager.responseSerializer = [AFHTTPResponseSerializer serializer];
// Set calling keys
NSMutableDictionary *dict = [[NSMutableDictionary alloc] init];
[dict setObject:@"5341" forKey:@"Id"];
[dict setObject:@"f1" forKey:@"refDataId"];
[dict setObject:@"f1" forKey:@"customRefDataId"];
[dict setObject:@"587" forKey:@"cost"];
[manager POST:urlString parameters:dict constructingBodyWithBlock:^(id<AFMultipartFormData> formData) {
[formData appendPartWithFileData:UIImagePNGRepresentation(files[0]) name:@"ImageName" fileName:@"file1" mimeType:@"image/png"];
} success:^(AFHTTPRequestOperation *operation, id responseObject) {
NSLog(@"upload successful");
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"Error image upload");
}];
等待一段时间,它会在失败后节这个块的执行之后。记录:"Error image upload"
。没有给出任何错误。
我试过我的API在POSTMAN API CLIENT
那里它工作正常。我能够发送数据并得到回应。
而运行此块后,我无法运行任何其他API调用我必须停止我的应用程序并再次运行以运行任何其他API调用。
这有什么代码,为什么我不能上传任何形式的数据,为什么它挡住了我的任何其他API调用
您是否使用了最新的框架的版本?在失败区块中,'NSError * error'绝对没有?在你的'appendPartWithFileData:'调用中,出于测试目的,我会把这行代码取出来,并检查'NSData'对象也不是零。 – Luke
@Luke这是我得到的错误,在NSError'*错误' – NSUser
'错误域= NSURLErrorDomain代码= -1001“请求超时。” UserInfo = 0x7fde1ae09790 {NSUnderlyingError = 0x7fde1af158d0“请求超时。”,NSErrorFailingURLStringKey = apikey,NSErrorFailingURLKey = apikey,NSLocalizedDescription =请求超时。} – NSUser