java后台对上传的图片进行压缩

1、引入jar或者依赖:


       
            net.coobird
            thumbnailator
            0.4.8
       

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

你可能感兴趣的:(java)