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