2013-12-20 44 views
0

我想實現一個Web服務,以恢復我的實體PictureCaptures數組的數組:REST Web服務來恢復圖片

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

Web服務將主要由所謂的iOS應用。

由於字節數組屬性,實現它的最佳方式是什麼?

我想返回的字節數組沒有任何轉換,作爲一個簡單的JSON屬性?如果是,如何插入JSON響應? - 在這種情況下,JSONObjectWithData:options:error:不起作用,太多的數據和內存問題) -

謝謝你的幫助。

回答

0

當你得到JSON響應時,你應該將btye數組轉換爲NSData。 首先添加Base64.h和M文件的項目(你可以很容易找到它互聯網上)

然後導入Base64.h

從您的JSON數據

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

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

這可能會幫助你。

+0

是的但要恢復JSONDict我需要使用JSONObjectWithData:options:error方法,這使我成爲內存問題,因爲我在數據響應中有很多圖片。 – ragu89

+0

如果你發佈了一些代碼或者你有什麼問題,那麼有人可以幫助你。 – 2013-12-20 09:55:55

0

我建議你添加兩個資源:一個用於元數據(描述,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請參閱有關日期格式的討論)。

+0

好的,我明白了......謝謝,我會試試看 – ragu89