REST Web服务以恢复图片数组

时间:2013-12-20 09:05:33

标签: ios web-services rest bytearray

我想实现一个Web服务来恢复我的实体PictureCaptures的数组:

PictureCaptures
---------------
- description : string
- captureDate : DateTime
- photoBinary : byte[]

Web服务将主要由iOS应用程序调用。

由于字节数组属性?

,实现它的最佳方法是什么?

我是否假设在没有任何转换的情况下返回字节数组,作为一个简单的JSON属性?如果是,如何插入JSON响应? - 在这种情况下JSONObjectWithData:options:error:不起作用,数据和内存问题太多了) -

感谢您的帮助。

2 个答案:

答案 0 :(得分:0)

当你得到JSON响应时,你应该将btye数组转换为NSData。 首先将Base64.h和m文件添加到项目中(您可以在Internet上轻松找到)

然后导入Base64.h

来自您的JSON数据的

NSString *data= [yourJSONDict objectForKey:@"photoBinary"];
          NSData* imageData = [data base64DecodedData];

        UIImage *imag=[UIImage imageWithData:imageData];
        [yourImageView setImage:imag];

这可能对你有帮助。

答案 1 :(得分:0)

我建议你添加两个资源:一个用于元数据(description,captureDate等),另一个用于二进制数据。让元数据资源包含指向二进制照片数据的链接。

像这样:

GET /images/1234

响应:

{
  description: "Nice photo",
  captureDate: "2012-04-23T18:25:43.511Z",
  photoData: "http://example.org/images/1234/photo"
}

http://example.org/images/1234/photo返回原始照片数据

(有关日期格式的讨论,另请参阅The "right" JSON date format。)