Android Image to Base64

问题描述:

我想将我的应用程序图像转换为base64,因此它不会显示在图库上。我尝试了各种技术。该图像来自一个zip文件,因此它在这一点上是一个字节数组。当我更改字节数组大小时,base64的长度发生变化。什么是正确的字节数组大小?而base64编码的图像也不起作用。 主要代码是 String encodedImage = Base64.encodeToString(buffer,Base64.DEFAULT); 缓冲区是字节数组(102400) 它也包含图像。 的图像是一个7KB文件和输出为400KBAndroid Image to Base64

+0

您可以使用Base64 Android类: String encodedImage = Base64.encodeToString(byteArrayImage,Base64.DEFAULT); –

+0

我在你的问题中包含你的答案。这对我不起作用。 –

+0

错误的解决方案。如果你想防止图像出现在图库中,在该目录中创建一个.nomedia文件,索引器将跳过它 –

你可以试试下面的函数图像转换为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); 
} 

以上功能需要Bitmap图像并将其转换成Base64 encoded string。这是在我的项目中工作,我希望这也能帮助你。