From b8d8733ad9eeeb170a71897d1078acdbea7680f2 Mon Sep 17 00:00:00 2001 From: zhanghua <314079846@qq.com> Date: 星期二, 04 三月 2025 15:23:38 +0800 Subject: [PATCH] 优化 --- ycl-common/src/main/java/com/ycl/service/oss/impl/OssServiceImpl.java | 55 +++++++++++++++++++++++++++++++++++++++++-------------- 1 files changed, 41 insertions(+), 14 deletions(-) diff --git a/ycl-common/src/main/java/com/ycl/service/oss/impl/OssServiceImpl.java b/ycl-common/src/main/java/com/ycl/service/oss/impl/OssServiceImpl.java index 460c745..a66779b 100644 --- a/ycl-common/src/main/java/com/ycl/service/oss/impl/OssServiceImpl.java +++ b/ycl-common/src/main/java/com/ycl/service/oss/impl/OssServiceImpl.java @@ -3,6 +3,7 @@ import com.aliyun.oss.OSS; import com.aliyun.oss.OSSClientBuilder; import com.aliyun.oss.model.ObjectMetadata; +import com.aliyun.oss.model.VoidResult; import com.ycl.service.oss.OssService; import com.ycl.utils.ConstantPropertiesUtils; import com.ycl.utils.common.RandomUtils; @@ -17,6 +18,8 @@ import java.awt.*; import java.awt.image.BufferedImage; import java.io.*; +import java.net.URL; +import java.net.URLDecoder; import java.time.LocalDate; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; @@ -43,12 +46,14 @@ // 涓婁紶鏂囦欢娴� try { // 鑾峰彇鏂囦欢鐨勫悕绉� - String strDate2 = dtf2.format(LocalDateTime.now()); + byte[] newImg = file.getBytes(); String originalFilename = file.getOriginalFilename(); String fileType = originalFilename.substring(originalFilename.lastIndexOf(".")); - String fileName = "sczf/" + strDate2 + RandomUtils.generateRandomInt(4) + "." + fileType; + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMdd"); + String fileName = "sczf/" + LocalDateTime.now().format(formatter) + RandomUtils.generateRandomInt(8) + fileType; + if (".png".equalsIgnoreCase(fileType) || ".jpg".equalsIgnoreCase(fileType) || ".jpeg".equalsIgnoreCase(fileType)) { if (file.getSize() > 2097152) { newImg = compressUnderSize(file.getBytes(), 2097152); @@ -65,6 +70,7 @@ // 鎶婁笂浼犵殑鏂囦欢璺緞杩斿洖 锛堟墜鍔ㄦ嫾鎺ワ級 // 杩欓噷璁剧疆鍥剧墖鏈夋晥鏃堕棿 鎴戣缃簡30骞� Date expiration = new Date(System.currentTimeMillis() + (long) 946080000 * 1000); + String url = ossClient.generatePresignedUrl(bucketName, fileName, expiration).toString(); System.out.println("涓婁紶缁撴潫--" + url + "------" + dtf2.format(LocalDateTime.now())); @@ -149,19 +155,40 @@ @Override public boolean deleteImages(String fileUrl) { - String endpoint = ConstantPropertiesUtils.END_POINT; - String accessKeyId = ConstantPropertiesUtils.ACCESS_KEY_ID; - String accessKeySecret = ConstantPropertiesUtils.ACCESS_KEY_SECRET; - String bucketName = ConstantPropertiesUtils.BUCKET_NAME; - //鍒涘缓OSSClient瀹炰緥 - OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret); - String imgFile = fileUrl.replace("https://bucket-ans.oss-cn-hangzhou.aliyuncs.com/", ""); - String fileName = imgFile.substring(0, imgFile.indexOf("?")); + try { - // 鏍规嵁BucketName,objectName鍒犻櫎鏂囦欢 - ossClient.deleteObject(bucketName, fileName); - ossClient.shutdown(); - return true; + String endpoint = ConstantPropertiesUtils.END_POINT; + String accessKeyId = ConstantPropertiesUtils.ACCESS_KEY_ID; + String accessKeySecret = ConstantPropertiesUtils.ACCESS_KEY_SECRET; + String bucketName = ConstantPropertiesUtils.BUCKET_NAME; + //鍒涘缓OSSClient瀹炰緥 + OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret); + + String imgFile = fileUrl.replace(ConstantPropertiesUtils.PREFIX_URL, ""); + String fileName = imgFile; + if (imgFile.contains("?")) { + fileName = imgFile.substring(0, imgFile.indexOf("?")); + } + try { + + fileName = URLDecoder.decode(fileName, "UTF-8"); + } catch (UnsupportedEncodingException ex) { +// throw new RuntimeException(ex); + } + + // 鏍规嵁BucketName,objectName鍒犻櫎鏂囦欢 + boolean b = ossClient.doesObjectExist(bucketName, fileName); + if (b) { + VoidResult voidResult = ossClient.deleteObject(bucketName, fileName); + System.out.println(voidResult.toString()); + } + ossClient.shutdown(); + return true; + + } catch (Exception e) { + System.out.println("-------鍒犻櫎鍥剧墖澶辫触锛屽浘鐗囧湴鍧�:" + fileUrl); + } + return false; } @Override -- Gitblit v1.8.0