From 9b1feca54aac881a93ba738b40caf112915ac874 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=A2=81=E7=90=A6=E6=B6=9B?= Date: Thu, 9 Mar 2023 12:04:29 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90fix=20sonar=E3=80=91OssBootUtil?= =?UTF-8?q?=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/jero/common/util/oss/OssBootUtil.java | 40 +++++++++---------- 1 file changed, 19 insertions(+), 21 deletions(-) diff --git a/jero-boot/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/util/oss/OssBootUtil.java b/jero-boot/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/util/oss/OssBootUtil.java index 605a16d3..3b2e194c 100644 --- a/jero-boot/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/util/oss/OssBootUtil.java +++ b/jero-boot/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/util/oss/OssBootUtil.java @@ -15,6 +15,7 @@ import com.jero.common.util.oConvertUtils; import org.springframework.web.multipart.MultipartFile; import java.io.BufferedInputStream; +import java.io.File; import java.io.IOException; import java.io.InputStream; import java.net.URL; @@ -102,7 +103,7 @@ public class OssBootUtil { * @return oss 中的相对文件路径 */ public static String upload(MultipartFile file, String fileDir,String customBucket) { - String FILE_URL = null; + String url; initOSS(endPoint, accessKeyId, accessKeySecret); StringBuilder fileUrl = new StringBuilder(); String newBucket = bucketName; @@ -123,21 +124,21 @@ public class OssBootUtil { FileTypeFilter.fileTypeFilter(file); //update-end-author:liusq date:20210809 for: 过滤上传文件类型 orgName = CommonUtils.getFileName(orgName); - String fileName = orgName.indexOf(".")==-1 + String fileName = !orgName.contains(".") ?orgName + "_" + System.currentTimeMillis() :orgName.substring(0, orgName.lastIndexOf(".")) + "_" + System.currentTimeMillis() + orgName.substring(orgName.lastIndexOf(".")); if (!fileDir.endsWith("/")) { fileDir = fileDir.concat("/"); } //update-begin-author:wangshuai date:20201012 for: 过滤上传文件夹名特殊字符,防止攻击 - fileDir=StrAttackFilter.filter(fileDir); + fileDir = StrAttackFilter.filter(fileDir); //update-end-author:wangshuai date:20201012 for: 过滤上传文件夹名特殊字符,防止攻击 - fileUrl = fileUrl.append(fileDir + fileName); + fileUrl.append(fileDir).append(fileName); if (oConvertUtils.isNotEmpty(staticDomain) && staticDomain.toLowerCase().startsWith("http")) { - FILE_URL = staticDomain + "/" + fileUrl; + url = staticDomain + File.separator + fileUrl; } else { - FILE_URL = HTTPS_CONSTANT + newBucket + "." + endPoint + "/" + fileUrl; + url = HTTPS_CONSTANT + newBucket + "." + endPoint + File.separator + fileUrl; } PutObjectResult result = ossClient.putObject(newBucket, fileUrl.toString(), file.getInputStream()); // 设置权限(公开读) @@ -145,14 +146,11 @@ public class OssBootUtil { if (result != null) { log.info(OSS_UPLOAD_CONSTANT + fileUrl); } - } catch (IOException e) { - e.printStackTrace(); - return null; - }catch (Exception e) { + } catch (Exception e) { e.printStackTrace(); return null; } - return FILE_URL; + return url; } /** @@ -188,7 +186,7 @@ public class OssBootUtil { * @return oss 中的相对文件路径 */ public static String upload(FileItemStream file, String fileDir) { - String FILE_URL = null; + String url; initOSS(endPoint, accessKeyId, accessKeySecret); StringBuilder fileUrl = new StringBuilder(); try { @@ -198,11 +196,11 @@ public class OssBootUtil { fileDir = fileDir.concat("/"); } fileDir = StrAttackFilter.filter(fileDir); - fileUrl = fileUrl.append(fileDir + fileName); + fileUrl.append(fileDir).append(fileName); if (oConvertUtils.isNotEmpty(staticDomain) && staticDomain.toLowerCase().startsWith("http")) { - FILE_URL = staticDomain + "/" + fileUrl; + url = staticDomain + File.separator + fileUrl; } else { - FILE_URL = HTTPS_CONSTANT + bucketName + "." + endPoint + "/" + fileUrl; + url = HTTPS_CONSTANT + bucketName + "." + endPoint + File.separator + fileUrl; } PutObjectResult result = ossClient.putObject(bucketName, fileUrl.toString(), file.openStream()); // 设置权限(公开读) @@ -214,7 +212,7 @@ public class OssBootUtil { e.printStackTrace(); return null; } - return FILE_URL; + return url; } /** @@ -325,21 +323,21 @@ public class OssBootUtil { * @return */ public static String upload(InputStream stream, String relativePath) { - String FILE_URL = null; + String url; String fileUrl = relativePath; initOSS(endPoint, accessKeyId, accessKeySecret); if (oConvertUtils.isNotEmpty(staticDomain) && staticDomain.toLowerCase().startsWith("http")) { - FILE_URL = staticDomain + "/" + relativePath; + url = staticDomain + File.separator + relativePath; } else { - FILE_URL = HTTPS_CONSTANT + bucketName + "." + endPoint + "/" + fileUrl; + url = HTTPS_CONSTANT + bucketName + "." + endPoint + File.separator + fileUrl; } - PutObjectResult result = ossClient.putObject(bucketName, fileUrl.toString(),stream); + PutObjectResult result = ossClient.putObject(bucketName, fileUrl,stream); // 设置权限(公开读) ossClient.setBucketAcl(bucketName, CannedAccessControlList.PublicRead); if (result != null) { log.info(OSS_UPLOAD_CONSTANT + fileUrl); } - return FILE_URL; + return url; }