2016-06-20 132 views
-1

剛剛遇到一個問題,我有一個webService,返回存儲在數據庫中的base64字符串的照片現在問題是服務正在返回它有System.Byte []。我從我的Android應用程序中打這個webService我無法得到原始的String.So請有人幫我排序這個問題out.And請指導我在哪裏需要更改webService或在我的android應用程序。謝謝你。從System.Byte []獲取原始數據?

+0

恐怕真的不清楚什麼是返回什麼,或哪一部分是你的代碼。你是說你的Web服務請求包含測試「System.Byte []」?如果是這樣,你需要修復Web服務不要這樣做。 (爲什麼你將照片作爲base64存儲在數據庫中,而不是一個blob,btw?) –

+0

@JonSkeet數據庫已經是這樣了,不能被我改變。在查詢層面,我正確地獲取數據,但是當我把它放在datatable中它轉換成System.Byte []。對此有任何建議。 –

+0

聽起來好像在你沒有給我們顯示的一些代碼中存在問題... –

回答

0

我不知道你是問C#還是Android,但這是Android的解決方案。

String encodedImage; // Your Base64 String 
byte[] decodedString = Base64.decode(encodedImage, Base64.DEFAULT); 
Bitmap decodedByte = BitmapFactory.decodeByteArray(decodedString, 0, decodedString.length); 
+0

問題是我沒有從Web服務獲取原始基礎64字符串。我只是以字符串形式獲取System.Byte []。 –

+0

你有沒有試過把它放在'BitmapFactory.decodeByteArray'中? – Joshua