2012-09-06 104 views
8

我想將圖像轉換爲base64編碼爲字符串。從那發送到服務器與oma_status-icon xml格式。如何將圖像轉換爲base64字符串

,但我得到來自服務器的響應不支持的編碼....

是否有任何其他方式的圖像轉換爲Base64字符串?

plz..help ...

我的代碼是:

 Bitmap bitmapOrg = BitmapFactory.decodeResource(getResources(), R.drawable.image); 

     ByteArrayOutputStream bao = new ByteArrayOutputStream(); 
     bitmapOrg.compress(Bitmap.CompressFormat.JPEG, 100, bao); 
     byte [] ba = bao.toByteArray(); 

     String ba1=Base64.encodeBytes(ba); 
+2

如果這有幫助,然後接受答案,以便其他人可能會有所幫助。 – Nikhil

回答

15

請使用此代碼..

Bitmap bitmapOrg = BitmapFactory.decodeResource(getResources(), R.drawable.image); 
ByteArrayOutputStream bao = new ByteArrayOutputStream(); 
bitmapOrg.compress(Bitmap.CompressFormat.JPEG, 100, bao); 
byte [] ba = bao.toByteArray(); 
String ba1=Base64.encodeToString(ba,Base64.DEFAULT); 

請輸入

import android.util.Base64; 
+0

DEFAULT是什麼? –

+5

Base64.DEFAULT: - 在符合RFC 2045的輸出中傳遞DEFAULT結果。 – Nikhil

+0

String ba1 = Base64.encodeToString(ba,Base64.DEFAULT);在那我越來越base64.DEFAULT錯誤.....怎麼能跟? –

2

試試下面的代碼

ByteArrayOutputStream baos = new ByteArrayOutputStream(); 
bm.compress(Bitmap.CompressFormat.JPEG, 100, baos); 
byte b [] = baos.toByteArray(); 
String base64String = Base64.encodeToString(b, Base64.DEFAULT); 

不要忘記import android.util.Base64;

+0

什麼是DEFAULT?我在DEFAULT時出錯。 –

+0

其a編碼器/解碼器標誌的默認值。 –

1

也許你可以嘗試

String base64Result = Base64.encodeToString(yourByteArray[], Base64.DEFAULT);

+1

請檢查以上代碼.. – Nikhil

3
// convert from bitmap to byte array 
public byte[] getBytesFromBitmap(Bitmap bitmap) { 
    ByteArrayOutputStream stream = new ByteArrayOutputStream(); 
    bitmap.compress(CompressFormat.JPEG, 70, stream); 
    return stream.toByteArray(); 
} 

// get the base 64 string 
String imgString = Base64.encodeToString(getBytesFromBitmap(someImg), 
         Base64.NO_WRAP); 
1

方法:

private String bitmapToBase64(Bitmap bitmap) { 

    ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); 
    bitmap.compress(Bitmap.CompressFormat.PNG, 100, byteArrayOutputStream); 
    byte[] byteArray = byteArrayOutputStream .toByteArray(); 

    return Base64.encodeToString(byteArray, Base64.DEFAULT); 
} 

進口:

import android.util.Base64; 
import java.io.ByteArrayOutputStream; 
相關問題