我需要在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
答案 0 :(得分:2)
MIME
类型是
文件格式和传输格式内容的两部分标识符 在互联网上。
这意味着如果您不需要通过Internet协议(例如HTTP)交换此文件,则该类型绝对无关。
您还感到困惑
data:image/png;base64
具有MIME
类型。 不是一种媒体类型。
data:
是实际的URL格式,用于在浏览器中指定内联数据(请参见IETF)。
在您的情况下,它的意思是“ 嘿浏览器!请看一下用Base64编码的本地资源来构建图像!”。
通常在<img />
标签中使用,必须手动设置。这意味着您必须知道数据的实际格式。