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    3\n)", … }

我需要它看起来像:

Parameters: {"categories"=>[1,2,3], … }

我尝试将 AFHTTPSessionManager 的 requestSerializer 实例设置为,[AFJSONRequestSerializer serializer]但这似乎没有帮助。

如何正确发布图像+参数?我想避免退回到 AFHTTPRequestOperation。

谢谢!

4

1 回答 1

1

尝试升级到最新版本的 AFNetworking。我相信这已在github.com/AFNetworking/AFNetworking/issues/1388中修复,我认为它已被纳入 AFNetworking 2.0.1。如果最新版本不起作用,只需拉取最新提交。

于 2013-10-28T19:04:37.810 回答