在日常的开发中,图片展示是一个经常见的开发任务,而图片展示也有好多种方式。但也有一种是通过转成Base64编码来完成。下面就是通过流转成Base64编码的主要代码。
try (InputStream in = null;
ByteArrayOutputStream out = new ByteArrayOutputStream()) {
//建一个空的字节数组
byte[] result = null;
in=.........(获取你的图片的输入流)
byte[] buf = new byte[1024];
//用来定义一个准备接收图片总长度的局部变量
int len;
//将流的内容读取到buf内存中
while ((len = in.read(buf)) > 0) {
//将buf内存中的内容从0开始到总长度输出出去
out.write(buf, 0, len);
}
//将out中的流内容拷贝到一开始定义的字节数组中
result = out.toByteArray();
//通过util包中的Base64类对字节数组进行base64编码
String base64 = Base64.getEncoder().encodeToString(result);
} catch (Exception e) {
e.printStackTrace();
}
以上就是Java转成Base64的主要逻辑代码,剩下的就是将这段逻辑套入到你自己的代码里面。
注:如果需要返回到前端展示则需要加上一个前缀:
String code = "data:Image/" + "你的图片格式(例如:JPG/PNG)等等" + ";base64," + base64;
如果前端需要展示图片,就将code返回给前端。