导入maven依赖
<!--压缩图片质量-->
<dependency>
<groupId>net.coobird</groupId>
<artifactId>thumbnailator</artifactId>
<version>0.4.14</version>
</dependency>
构建压缩工具
/**
* 压缩图片
*
* @param inputImage
* @param outputImage
* @param quality
* @throws IOException
*/
private void compressImage(File inputImage, File outputImage, float quality) throws IOException {
Thumbnails.of(inputImage)
.size(1920, 1080) // 可选:设置压缩后的图片尺寸
.outputQuality(quality) // 设置压缩质量
.toFile(outputImage);
}
调用方法
// 创建一个临时文件,文件名以 "uploaded_" 开头,以原文件名(空格替换为下划线)结尾。
File tempFile = File.createTempFile("uploaded_", "_" + originalFilename.replaceAll("\\s+", "_"));
//将上传的文件内容转移到创建的临时文件中。
file.transferTo(tempFile);
// 调用压缩算法
compressImage(tempFile, absoluteFilePath, 0.5f);