我正在尝试使用作为数组的参数(类别)发布图像。如果我将此参数保留,我可以提交。但是,如果我保留它,我的服务器会抛出一个错误,因为数组值似乎没有正确序列化。
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 3\n)", … }
我需要它看起来像:
Parameters: {"categories"=>[1,2,3], … }
我已经尝试将我的AFHTTPSessionManager的requestSerializer实例设置为[AFJSONRequestSerializer serializer]
,但这似乎没有帮助。
如何正确发布图像+参数?我想避免回到AFHTTPRequestOperation。
谢谢!
答案 0 :(得分:1)
尝试升级到最新版本的AFNetworking。我相信这已在github.com/AFNetworking/AFNetworking/issues/1388中得到修复,我认为这已归入AFNetworking 2.0.1。如果最新版本不起作用,只需提取最新提交。