2013-05-28 59 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。

祝你好運!