Quiero convertir las imágenes de mi aplicación a base64 para queno se mostrará en la galería. He probado varias técnicas. La imagen es de un archivo zip, por lo que es una matriz de bytes en ese punto. La longitud de la base64 cambia cuando cambio el tamaño de la matriz de bytes. ¿Cuál es el byte adecuado? tamaño de matriz? Y la imagen codificada en base64 tampoco funciona. El código primario es Cadena encodedImage = Base64.encodeToString (buffer, Base64.DEFAULT); el búfer es la matriz de bytes (102400) y contiene la imagen también. La imagen es un archivo de 7 KB y la salida es de 400 KB
Respuestas
0 para la respuesta № 1Puede intentar la siguiente función para convertir la imagen en Base64
:
public void toStringImage(Bitmap bmp) {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
bmp.compress(Bitmap.CompressFormat.JPEG, 100, baos);
byte[] imageBytes = baos.toByteArray();
String encodedImage = Base64.encodeToString(imageBytes, Base64.DEFAULT);
}
La función anterior toma Bitmap
imagen y la convierte en Base64 encoded string
. Esto está funcionando en mi proyecto y espero que esto también te ayude.