1. 程式人生 > >java後臺對上傳的圖片進行壓縮

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) {
           
        }
    }