2013-05-28 36 views
0

我正在使用JSON Web服务,并且需要通过JOSN发送图像数据。 JSON模式看起来像下面,任何想法我可以实现这一点?通过JSON以字节数组发送图像数据

"image":[81, 
      109, 
      70, 
      65, 
      50, 
      78, 
      67, 
      66, 
      ] 

我很感谢您的帮助,在此先感谢。

+1

为什么不使用Base64编码传输图像数据?你有任何控制服务器端? –

+0

目前还不清楚你想在这里实现什么。你能描述一些用例吗?数据如何传达给你?你是否问如何解析/压缩/解压到/从某种图像格式?你问如何确定图像格式? – valid

+0

@RicPerrott我已经尝试了Base64,但它没有工作,并且对于服务器端,它已经与使用上述格式的.net应用程序集成并且他们想要使用统一服务。 – Sarah

回答

2

如果你需要从图像获取字节数组,试试这个方法:

获取数据对于给定的图像

UIImage *image = [UIImage imageNamed:@"image.png"]; 
NSData *data = UIImagePNGRepresentation(image); 
// You can use UIImageJPEGRepresentation() if you need a jpg rather than a png 

然后,使用方法,这样返回一个NSArray的字节

- (NSArray*) arrayOfBytesFromData:(NSData*) data 
{ 
if (data.length > 0) 
{ 
    NSMutableArray *array = [NSMutableArray arrayWithCapacity:data.length]; 
    NSUInteger i = 0; 

    for (i = 0; i < data.length; i++) 
    { 
     unsigned char byteFromArray = data.bytes[i]; 
     [array addObject:[NSValue valueWithBytes:&byteFromArray 
             objCType:@encode(unsigned char)]]; 
    } 

    return [NSArray arrayWithArray:array]; 
} 

return nil; 
} 

循环访问数组并从中形成JSON。

祝你好运!