![](/img/trans.png)
[英]Error Domain=com.alamofire.error.serialization.response Code=-1011 "Request failed: bad request (400)
[英]Getting error “Error Domain=com.alamofire.error.serialization.response Code=-1011 ”Request failed: bad request (400)" in iOS 7
我正在使用AFNetworking版本“2.5.4”并创建multipartform-data请求。 就我而言,代码在 iOS8 上运行良好,但在 iOS 7 上出现问题。获取错误
"错误域=com.alamofire.error.serialization.response 代码=-1011 "请求失败:错误请求 (400)"
UserInfo=0x19039c00 {com.alamofire.serialization.response.error.response= { URL: http://xxx/api/abc/PostApi } { 状态码:400, headers { Connection = close; “内容类型”=“应用程序/json”; 日期 = "2015 年 5 月 20 日星期三 05:42:47 GMT"; 服务器 = 阿帕奇; } }, NSErrorFailingURLKey= http://xxx/api/abc/PostApi }, NSLocalizedDescription=Request failed: bad request (400), com.alamofire.serialization.response.error.data=<7b227375 63636573 73223a66 616c7267362642667362626262626260 61746122 2c226461 7461223a 5b5d2c22 72657370 6f6e7365 5f636f64 65223a22 52433030 3033227d>}
这是我的代码有问题
`
@property (strong, nonatomic) NSURLSessionUploadTask *postUploadTask;
__block int i=1;
AFURLSessionManager *manager = [[AFURLSessionManager alloc] initWithSessionConfiguration:[NSURLSessionConfiguration defaultSessionConfiguration]];
NSMutableURLRequest *request = [[AFHTTPRequestSerializer serializer] multipartFormRequestWithMethod:@"POST" URLString:urlString parameters:postParameters constructingBodyWithBlock:^(id<AFMultipartFormData> formData) {
if (imageArray.count > 0) {
long dataLenght = 0.0;
for(UIImage *eachImage in imageArray)
{
NSData *imageData = UIImageJPEGRepresentation(eachImage, .5);
dataLenght = dataLenght + imageData.length;
[formData appendPartWithFileData:imageData name:[NSString stringWithFormat:@"image%d",i] fileName:[NSString stringWithFormat:@"image%d.jpg",i] mimeType:@"image/jpeg"];
i++;
}
}
} error:nil];
NSProgress *progress = nil;
self.postUploadTask = [manager uploadTaskWithStreamedRequest:request progress:&progress completionHandler:^(NSURLResponse *response, id responseObject, NSError *error) {
[progress removeObserver:object forKeyPath:kProgressFractionCompleted context:kPostUpdateTypePostUpdate];
completionBlock(responseObject, error, task);
}];
[self.postUploadTask resume];`
虽然这是在同一个 api 上的工作代码-:
AFHTTPRequestOperationManager *manager = [[AFHTTPRequestOperationManager alloc] initWithBaseURL:[NSURL URLWithString:BASE_URL]];
AFHTTPRequestOperation *op = [manager POST:urlString parameters:postParameters constructingBodyWithBlock:^(id<AFMultipartFormData> formData) {
if (imageArray.count > 0) {
long dataLenght = 0.0;
for(UIImage *eachImage in imageArray)
{
NSData *imageData = UIImageJPEGRepresentation(eachImage, .5);
dataLenght = dataLenght + imageData.length;
[formData appendPartWithFileData:imageData name:[NSString stringWithFormat:@"image%d",i] fileName:[NSString stringWithFormat:@"image%d.jpg",i] mimeType:@"image/jpeg"];
i++;
}
}
} success:^(AFHTTPRequestOperation *operation, id responseObject){
completionBlock(responseObject, nil, task);
[progress removeObserver:object forKeyPath:kProgressFractionCompleted context:kPostUpdateTypePostUpdate];
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
completionBlock(operation, error, task);
}];
[op start];
但我的要求是实现uploadTaskWithStreamedRequest。 这类似于问题“ 错误域=com.alamofire.error.serialization.response 代码=-1011“请求失败:错误请求(400) ”。
如果有任何想法,请帮助我。 提前致谢。
您应该尝试将请求序列化程序添加到您的 AFHTTPRequestOperationManager。
AFJSONRequestSerializer *jsonRequestSerializer = [AFJSONRequestSerializer serializer];
[self.requestOperationManager setRequestSerializer:jsonRequestSerializer];
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.