我正在尝试发布带有数组参数(类别)的图像。如果我省略这个参数,我可以提交得很好。但是,如果我将其保留,我的服务器会抛出错误,因为数组值似乎没有正确序列化。
NSMutableDictionary *dict = [NSMutableDictionary dictionaryWithDictionary:@{
@"auth_token" : authToken,
@"title" : title,
@"categories" : @[1,2,3]
}];
return [[MyHTTPSessionManager sharedManager] POST:path parameters:dict constructingBodyWithBlock:^(id<AFMultipartFormData> formData) {
[formData appendPartWithFileData:imageData
name:@"image"
fileName:@"image.jpg"
mimeType:@"image/jpeg"];
} success:nil failure:nil];
查看我的服务器日志,这就是类别的出现方式:
Parameters: {"categories"=>"(n 1,n 2,n 3n)", … }
我需要它看起来像:
Parameters: {"categories"=>[1,2,3], … }
我尝试将AFHTTPSessionManager的请求序列化程序实例设置为[AFJSONRequestSerializer serializer]
但这似乎没有帮助。
如何正确发布图像 + 参数?我想避免回退到AFHTTPRequestOperation。
谢谢!
尝试升级到最新版本的AFNetworking。我相信这在 github.com/AFNetworking/AFNetworking/issues/1388 中得到了修复,我认为它已被纳入 AFNetworking 2.0.1。 如果最新版本不起作用,只需拉取最新的提交。