Base64编码的URL中缺少MimeType

时间:2019-03-15 13:10:27

标签: java encoding base64

我需要在json请求中传递图片,并且正在使用javax.Base64编码器。

我能够将图像编码为Base64,但是我发现生成编码的字符串中缺少哑剧类型“ data:image / png; base64 ”。

所以,我的编码字符串如下所示:

  

iVBORw0KGgoAAAANSUhEUgAAAPAAAABQCAAAAAACIqegAAABMEl **********

而且,这是我正在尝试使用junit的简单代码:

@Test
    public void getBiographicPanel() {
        byte[] image = bacodeGenerator.generateBarocdeImage("12345678");
        System.out.println(Base64.getEncoder().encodeToString(image));
        System.out.println(org.apache.commons.codec.binary.Base64.encodeBase64String(image));

        assertNotNull(image);
    }

在Base64 API中,我们可以如何配置生成MimeType的Base64图像内容,如下所示?

  

data:image / png; base64 ,iVBORw0KGgoAAAANS

1 个答案:

答案 0 :(得分:2)

MIME类型是

  

文件格式和传输格式内容的两部分标识符   在互联网上。

这意味着如果您不需要通过Internet协议(例如HTTP)交换此文件,则该类型绝对无关。


您还感到困惑

data:image/png;base64

具有MIME类型。 不是一种媒体类型。

data:是实际的URL格式,用于在浏览器中指定内联数据(请参见IETF)。
在您的情况下,它的意思是“ 嘿浏览器!请看一下用Base64编码的本地资源来构建图像!”。

通常在<img />标签中使用,必须手动设置。这意味着您必须知道数据的实际格式。