2014-04-01 227 views
0

我試過谷歌和stackoverflow,但不能得到滿意的答案我是一個新手,並嘗試編碼圖像發送/上傳到服務器,然後解碼base64圖像中的相同圖像,並顯示在我的collectionView的單元格imageview 。獲取損壞的Base64編碼圖像

  1. 我已經在base64成功編碼圖像,我檢查了在線base64格式化器中的編碼字符串,並在輸出中獲取我的圖像,所以我的編碼工作正常。

2章下面的錯誤而解碼.....

<Error>: ImageIO: JPEG Unsupported marker type 0x6c 
<Error>: ImageIO: JPEG Corrupt JPEG data: 1 extraneous bytes before marker 0x6c 

我使用以下代碼來對圖像進行解碼

NSString *imageURL = [imagename objectAtIndex:indexPath.row]; 

NSData *imageData = [Base64 decode:imageURL]; 

ImageView.image  = [UIImage imageWithData:imageData]; 

任何建議和意見,將不勝感激。 ...

+0

URL是以base-64編碼的?你確定? – trojanfoe

+0

是的,你需要從url中獲取數據,然後從base64解碼數據...如果你知道數據是base64編碼的。 – Jonny

+0

@ trojanfoe- NO我沒有URL,我只有像這樣的編碼字符串(eD6VIWApmQ/PGO1RPMACD0qN5woxVV5Sx + XmgCUy/NwacJjgcXZnFuCDipo0KEdx3qe4gGW4wc01OQRjpxTSsrir1Odq)在服務器上傳並嘗試下載圖像格式的編碼字符串。 – Varun

回答

0

試試這個...

NSString *imageString = [imagename objectAtIndex:indexPath.row]; 

NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"data:image/png;base64,%@",imageString]]; 

NSData *imageData = [NSData dataWithContentsOfURL:url]; 

ImageView.image = [UIImage imageWithData:imageData]; 
+0

是「@」data:image/png; base64,%@「'一個URL? – trojanfoe

+0

它是一個URI計劃http://en.wikipedia.org/wiki/Data_URI_scheme - 當我有一個base64編碼的字符串時爲我工作。 – Flexicoder

+0

嗯,有趣。乾杯。 – trojanfoe