【问题标题】:Android Image to Base64Android 图像转 Base64
【发布时间】:2018-01-13 16:11:05
【问题描述】:

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

【问题讨论】:

  • 可以使用Base64 Android类:String encodedImage = Base64.encodeToString(byteArrayImage, Base64.DEFAULT);
  • 我的问题中包含了您的答案。它对我不起作用。
  • Wtong 解决方案。如果您想阻止图像出现在图库中,请在该目录中创建一个 .nomedia 文件,索引器将跳过它
  • 这听起来不像是图像填满了整个缓冲区...
  • 请回答您的解决方案 Gabe

标签: java android image encoding zip


【解决方案1】:

您可以尝试以下函数将图像转换为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。这在我的项目中有效,我希望这对你也有帮助。

【讨论】:

    猜你喜欢
    • 2014-03-28
    • 1970-01-01
    • 2015-12-09
    • 2016-10-29
    • 1970-01-01
    • 2016-03-24
    • 1970-01-01
    • 1970-01-01
    • 2015-12-18
    相关资源
    最近更新 更多