String uuid = UuidUtil.getUUID();
//文件上传
InputStream is = multipartFile.getInputStream();
if (multipartFile.getSize()>1024*1024*2){
File temp = File.createTempFile(UuidUtil.getUUID(), ".jpg");
Thumbnails.of(is).scale(0.5f).outputQuality(1f).toFile(temp);
while (temp.length()>1024*1024*2){
is = new FileInputStream(temp);
Thumbnails.of(is).scale(0.5f).outputQuality(1f).toFile(temp);
}
InputStream inputStream= new FileInputStream(temp);
minioClient.putObject(PutObjectArgs.builder()
.bucket(bucketName)
.object(uuid)
.stream(inputStream,temp.length(),-1)
.contentType(multipartFile.getContentType())
.build());
//在程序退出时删除临时文件
temp.deleteOnExit();
}
is.close();
//2小时过期
String fileUrl=minioClient
.getPresignedObjectUrl(
GetPresignedObjectUrlArgs
.builder()
.method(Method.GET)
.bucket(bucketName)
.object(uuid)
.expiry(2, TimeUnit.HOURS)
.build()
);
JAVA图片压缩
最新推荐文章于 2024-05-19 21:34:53 发布