java後臺對上傳的圖片進行壓縮
1、引入jar或者依賴:
<!-- 圖片縮圖 -->
<dependency>
<groupId>net.coobird</groupId>
<artifactId>thumbnailator</artifactId>
<version>0.4.8</version>
</dependency>
2、
public static void uploadFileAndCreateThumbnail() {
//拼接後臺檔名稱
String thumbnailPathName = "D:\\aaa\\1.png";
File file = new File(thumbnailPathName);
if(file == null || !file.exists()){
return;
}
long size = file.length();
double scale = 1.0d ;
if(size >= 200*1024){
scale = (200*1024f) / size ;
System.out.println(scale);
}
//拼接檔案路勁
String thumbnailFilePathName = thumbnailPathName.substring(0, thumbnailPathName.lastIndexOf(".")) + "_min.jpg";
try {
if(size > 200*1024){
// Thumbnails.of(thumbnailPathName).size(500,500).toFile(thumbnailFilePathName);//變為400*300,遵循原圖比例縮或放到400*某個高度
Thumbnails.of(thumbnailPathName).scale(1f).outputQuality(scale).outputFormat("jpg").toFile(thumbnailFilePathName);// 圖片尺寸不變,壓縮圖片檔案大小outputQuality實現,引數1為最高質量
}
} catch (Exception e1) {
}
}