使用 AFNetwork 2.0 发布带有数组参数的图像不起作用



我正在尝试发布带有数组参数(类别)的图像。如果我省略这个参数,我可以提交得很好。但是,如果我将其保留,我的服务器会抛出错误,因为数组值似乎没有正确序列化。

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。 如果最新版本不起作用,只需拉取最新的提交。

最新更新