0

I'm creating a iphone clients that talks to a wcf service (I do not have control over the server, so no changes can be made here).

I need to send an image to this server, along with some other information. It must be send using json.

I'm using restkit to send and receive data.

The problem is, that the binary data must be send as a byte array. Not as a base64 encoded string.

How do I get from an UIimage to a json string that looks like this

"Picture":{"Content":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,..........

I'm open to a solution that doesn't use restkit.

4

3 回答 3

0

接收 WCF 服务中的类型是什么?字节[]?

听起来很古怪,但您可以尝试映射到 NSNumber 关系并创建它们的数组。

在我的脑海中,我认为这将序列化为:

"图片":{"内容":["1","1","1".....

因此,您可能还需要自定义格式化程序。

于 2012-10-23T15:34:50.543 回答
0

感谢您的快速回复。

无法获得任何建议的答案,所以我们不得不使用我们疯狂的人际交往能力,让制造服务器端服务的公司改变他们的结局,这样我们就可以发送一个 base64 编码的字符串。

于 2012-10-29T21:05:48.730 回答
0

这是一个将字节数组转换为 NSString 的 SO 帖子。如果我正确理解了问题,请尝试将您的字节数组转换为字符串,然后将其添加到您的提要中。 Objective-C - 如何将字节数组转换为 NSString?

这是带有代码的已接受答案的摘录:

            NSData *data = [[NSMutableData alloc] init];
            uint8_t buffer[1024];
            unsigned int len = 0;

            len =  [(NSInputStream *)stream read:buffer maxLength:1024];

            if(len > 0)
            {
                [data appendBytes:&buffer length:len];
            }
            NSString *serverText = [[NSString alloc]
                                    initWithData:data
                                    encoding:NSASCIIStringEncoding];

            NSLog(@"%@", serverText);

同样值得注意的是,一旦将值放入 json,请注意不要超过 json 最大字符串长度值。

于 2012-10-23T15:36:24.903 回答