/**
* 将base64图片解析成文件存放本地
* @param imgStr
* @return 本地临时文件的地址
*/
private static String generateImage(String imgStr){
if(Strings.isNullOrEmpty(imgStr)){
return null;
}
BASE64Decoder decoder = new BASE64Decoder();
//转换前端数据
imgStr = imgStr.replaceAll(" ", "+");
//去除多余部分
imgStr=imgStr.replace("data:image/png;base64,", "");
try {
// Base64解码
byte[] b = decoder.decodeBuffer(imgStr);
for (int i = 0; i < b.length; i++) {
if (b[i] < 0) {// 调整异常数据
b[i] += 256;
}
}
String filepath =System.getProperty("java.io.tmpdir") +"测试"+System.currentTimeMillis()+".png";
File file = new File(filepath);
if(file.exists()){
file.delete();
}
FileOutputStream fos = new FileOutputStream(file);
fos.write(b);
fos.flush();
fos.close();
logger.info("路径"+filepath);
return filepath;
}catch(Exception e){
return null;
}
}
//imgStr=imgStr.replace(“data:image/png;base64,”, “”); 关键地方 根据图片类型 过滤对应的类型