2013-04-09 166 views
1

我正在從我的Web服務接收Base64 blob響應。我想在我的活動中創建一個圖像並將其設置爲Imageview。這是代碼片段。 道歉粘貼響應。如何在Android中將Base64 Blob字符串轉換爲圖像?

bs64img - Base64編碼字符串響應 碼 -

byte[] imageBytes=Base64.decode(bs64img, Base64.DEFAULT); 
InputStream is = new ByteArrayInputStream(imageBytes); 
Bitmap image=BitmapFactory.decodeStream(is); 
ImageView i=(ImageView)findViewById(R.id.imageView1); 
i.setImageBitmap(image); 

請幫我在這。

+2

您不必在此發佈響應,而應該發佈您試圖將其轉換爲「Image」的代碼片段。 – SudoRahul 2013-04-09 10:13:04

+0

檢查此:http://stackoverflow.com/a/3801881/1168654 – 2013-04-09 10:14:49

+0

@ jaa-c - >我使用該鏈接上的代碼。得到這個錯誤--- SkImageDecoder :: Factory返回null – 2013-04-09 10:25:41

回答

0

你可以嘗試:

byte[] imgBytesData = android.util.Base64.decode(yourBase64String); 
Bitmap bitmap = BitmapFactory.decodeByteArray(imgBytesData, 0, imgBytesData.length); 
... then setting your ImageView or saving on FileSystem or ... 
+0

得到這個錯誤--- SkImageDecoder :: Factory返回null - – 2013-04-09 10:29:54

0

一般來說,嵌入式圖像給出

<img src="data:image/png;base64,iVBORw0KGg..."> 

也就是說,該文件的所有字節中給出。所以請嘗試:

byte[] imageBytes=Base64.decode(bs64img, Base64.DEFAULT); 
InputStream is = new ByteArrayInputStream(imageBytes); 
BufferedImage img = ImageIO.read(is); 
相關問題