图片压缩

This commit is contained in:
yangjun 2024-07-16 20:56:16 +08:00
parent ae1fc7a3e5
commit 24450664b1
1 changed files with 13 additions and 3 deletions

View File

@ -14,6 +14,7 @@ import java.awt.image.BufferedImage;
import java.io.*; import java.io.*;
import java.net.URL; import java.net.URL;
import java.nio.file.Files; import java.nio.file.Files;
import java.text.SimpleDateFormat;
import java.util.Base64; import java.util.Base64;
import javax.imageio.IIOImage; import javax.imageio.IIOImage;
@ -24,6 +25,7 @@ import javax.imageio.stream.FileImageOutputStream;
import javax.xml.bind.DatatypeConverter; import javax.xml.bind.DatatypeConverter;
import java.util.Date; import java.util.Date;
import java.util.Iterator; import java.util.Iterator;
import java.util.Random;
/** /**
* 文件上传工具类 * 文件上传工具类
@ -150,10 +152,18 @@ public class FileUploadUtils
// System.out.println("压缩失败:" + e.getMessage()); // System.out.println("压缩失败:" + e.getMessage());
// } // }
try { try {
File inputFile = new File(pathFileName); // 输入图片文件 Date date = new Date();
File outputFile = new File(pathFileName); // 输出图片文件 SimpleDateFormat sdf=new SimpleDateFormat("yyyyMMddHHmmss");
float quality = 0.5f; // 压缩质量范围0.0到1.0 Random random = new Random();
int randomNumber = random.nextInt(900000) + 100000; // 生成一个介于100000到999999之间的随机数
String outfilename = fileName.substring(0,fileName.lastIndexOf("/"))+"/"+sdf.format(date)+randomNumber+fileName.substring(fileName.lastIndexOf("."),fileName.length());
File inputFile = new File(baseDir + File.separator + fileName);
File outputFile = new File(baseDir + File.separator + outfilename); // 输出图片文件
String retImgName = "/file/uploadPath/"+outfilename;
float quality = 0.45f; // 压缩质量范围0.0到1.0
compressImage(inputFile, outputFile, quality); compressImage(inputFile, outputFile, quality);
pathFileName = retImgName;
} catch (IOException e) { } catch (IOException e) {
e.printStackTrace(); e.printStackTrace();
} }