package org.springblade.jfpt.animalheat.util;
|
|
import jodd.util.StringPool;
|
import org.springblade.core.tool.utils.DateUtil;
|
import org.springblade.core.tool.utils.FileUtil;
|
import org.springblade.core.tool.utils.StringUtil;
|
import org.springframework.beans.factory.annotation.Value;
|
import sun.misc.BASE64Decoder;
|
import sun.misc.BASE64Encoder;
|
|
import javax.imageio.ImageIO;
|
import java.awt.image.BufferedImage;
|
import java.io.*;
|
import java.text.SimpleDateFormat;
|
import java.util.Date;
|
|
import static java.time.LocalDate.now;
|
|
/**
|
* 二进制原始数据转换为图片工具类
|
*/
|
public class ImageUtil {
|
static BASE64Encoder encoder = new sun.misc.BASE64Encoder();
|
static BASE64Decoder decoder = new sun.misc.BASE64Decoder();
|
|
@Value("${picture.addUrl}")
|
private String picAddUrl;
|
|
@Value("${picture.pre}")
|
private static String picPre;
|
|
/**
|
* 二进制原始数据转换为图片
|
* @param base64String
|
*/
|
public static String base64StringToImage(String base64String){
|
try {
|
byte[] bytes1 = decoder.decodeBuffer(base64String);
|
|
ByteArrayInputStream bais = new ByteArrayInputStream(bytes1);
|
BufferedImage bi1 = ImageIO.read(bais);
|
String yyyyMMddHHmmss = new SimpleDateFormat("yyyyMMddHHmmss").format(new Date());
|
File w2 = new File("D://"+picPre+StringPool.SLASH+ DateUtil.today()+StringPool.SLASH+ StringUtil.randomUUID()
|
+".jpg");//可以是jpg,png,gif格式
|
|
ImageIO.write(bi1, "jpg", w2);//不管输出什么格式图片,此处不需改动
|
//返回图片路径
|
return picPre+ StringPool.SLASH+ DateUtil.today()+StringPool.SLASH+ StringUtil.randomUUID()
|
+StringPool.DOT+ "jpg";
|
} catch (IOException e) {
|
e.printStackTrace();
|
}
|
return null;
|
}
|
}
|