decoder.decode(imageBase64)的时候decode方法会抛出异常
一般的情况都是有换行符,或者前缀没有处理干净
private byte[] getBase64(String imageBase64) {
if (imageBase64.contains("data:")) {
int start = imageBase64.indexOf(",");
imageBase64 = imageBase64.substring(start + 1);
}
final Base64.Decoder decoder = Base64.getDecoder();
imageBase64 = imageBase64.replaceAll("\r|\n", "");
imageBase64 = imageBase64.trim();
return decoder.decode(imageBase64);
}
封装私有方法,可以处理成可使用的byte[]
如果需要String的base64 可以用方法中的imageBase64