2012-09-06 32 views
8

Quiero convertir la imagen a codificar en base 64 en la cadena. de eso para enviar al servidor con formato oma_status-icon xml.cómo convertir una imagen en cadena base64

pero yo estoy haciendo la codificación no admitida de la respuesta del servidor ....

¿hay alguna otra manera de convertir una imagen de cadena de base 64 ??

plz..help ...

mi código es:

 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

si esta ayuda, a continuación, acepte las respuestas para que otras personas puedan ayudar. – Nikhil

Respuesta

15

Por favor, use este código ..

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); 

favor importar

import android.util.Base64; 
+0

¿Qué es DEFAULT? –

+5

Base64.DEFAULT: - Al pasar los resultados DEFAULT en la salida que se adhiere a RFC 2045. – Nikhil

+0

String ba1 = Base64.encodeToString (ba, Base64.DEFAULT); en eso estoy obteniendo un error de base64.DEFAULT ... ¿cómo puedo seguir? –

2

tratar a continuación el código

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

No se olvide de import android.util.Base64;

+0

¿Qué es DEFAULT? Recibo un error en DEFAULT. –

+0

a a Valores por defecto para indicadores de codificador/decodificador. –

1

tal vez usted puede intentar

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

+1

Por favor, compruebe el código anterior .. – 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

Método:

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); 
} 

Importaciones:

import android.util.Base64; 
import java.io.ByteArrayOutputStream; 
Cuestiones relacionadas