JDK从8升级到15,发现Base64 编码部分的代码不能使用,于是进行修改。
编码:
String imgStr = "";
BASE64Encoder encoder = new BASE64Encoder();
imgStr = encoder.encode(data.toByteArray());
修改为
String imgStr = "";
imgStr = Base64.getEncoder().encodeToString(data.toByteArray());
测试方法:
public static void main(String[] args) {
String base64 = getBase64("E:\\something7\\666.png");
System.out.println(base64);
}
测试成功。
解码:
byte[] decByte = null;
decByte = new sun.misc.BASE64Decoder().decodeBuffer(str);
改为
decByte = Base64.decode(str);
未测试
编码,
String str = "";
str = new sun.misc.BASE64Encoder().encodeBuffer(decByte);
改为
str = Base64.encode(decByte);