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

猜你喜欢

转载自blog.csdn.net/qq_34128650/article/details/79106482