一、maven依赖
<dependency>
<groupId>com.github.gotson</groupId>
<artifactId>webp-imageio</artifactId>
<version>0.2.2</version>
</dependency>
二、代码实现
//定义文件路径
private final static String FILEPATH = "D:/"; 本地路径
public static String saveWebpImage(MultipartFile mFile) {
try {
String file = saveFileToLocalhost(mFile);//先将图片保存至本地
String[] split = file.split("\\.");
File webpFile = new File(FILEPATH+file+".webp");
BufferedImage bufferedImage = ImageIO.read(new File(FILEPATH+file));
ImageIO.write(bufferedImage,"webp", webpFile);
if (new File(FILEPATH + file).delete()) System.out.println("文件删除成功了");
return split[0]+".webp";
} catch (IOException e) {
throw new RuntimeException(e);
}
}
public static String saveFileToLocalhost(MultipartFile file) throws IOException {
String[] fileStr = file.getOriginalFilename().split("\\.");
String suffix = fileStr[1];
String fileName = UUID.randomUUID().toString();
String filePath = FILEPATH+fileName+"."+suffix;
File desFile = new File(filePath);
if(!desFile.getParentFile().exists()){
desFile.mkdirs();
}
file.transferTo(desFile);
return fileName+"."+suffix;
}