【fix sonar】OssBootUtil文件

This commit is contained in:
梁琦涛
2023-03-09 12:04:29 +08:00
parent 878e92931a
commit 9b1feca54a
@@ -15,6 +15,7 @@ import com.jero.common.util.oConvertUtils;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import java.io.BufferedInputStream; import java.io.BufferedInputStream;
import java.io.File;
import java.io.IOException; import java.io.IOException;
import java.io.InputStream; import java.io.InputStream;
import java.net.URL; import java.net.URL;
@@ -102,7 +103,7 @@ public class OssBootUtil {
* @return oss 中的相对文件路径 * @return oss 中的相对文件路径
*/ */
public static String upload(MultipartFile file, String fileDir,String customBucket) { public static String upload(MultipartFile file, String fileDir,String customBucket) {
String FILE_URL = null; String url;
initOSS(endPoint, accessKeyId, accessKeySecret); initOSS(endPoint, accessKeyId, accessKeySecret);
StringBuilder fileUrl = new StringBuilder(); StringBuilder fileUrl = new StringBuilder();
String newBucket = bucketName; String newBucket = bucketName;
@@ -123,21 +124,21 @@ public class OssBootUtil {
FileTypeFilter.fileTypeFilter(file); FileTypeFilter.fileTypeFilter(file);
//update-end-author:liusq date:20210809 for: 过滤上传文件类型 //update-end-author:liusq date:20210809 for: 过滤上传文件类型
orgName = CommonUtils.getFileName(orgName); orgName = CommonUtils.getFileName(orgName);
String fileName = orgName.indexOf(".")==-1 String fileName = !orgName.contains(".")
?orgName + "_" + System.currentTimeMillis() ?orgName + "_" + System.currentTimeMillis()
:orgName.substring(0, orgName.lastIndexOf(".")) + "_" + System.currentTimeMillis() + orgName.substring(orgName.lastIndexOf(".")); :orgName.substring(0, orgName.lastIndexOf(".")) + "_" + System.currentTimeMillis() + orgName.substring(orgName.lastIndexOf("."));
if (!fileDir.endsWith("/")) { if (!fileDir.endsWith("/")) {
fileDir = fileDir.concat("/"); fileDir = fileDir.concat("/");
} }
//update-begin-author:wangshuai date:20201012 for: 过滤上传文件夹名特殊字符,防止攻击 //update-begin-author:wangshuai date:20201012 for: 过滤上传文件夹名特殊字符,防止攻击
fileDir=StrAttackFilter.filter(fileDir); fileDir = StrAttackFilter.filter(fileDir);
//update-end-author:wangshuai date:20201012 for: 过滤上传文件夹名特殊字符,防止攻击 //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")) { if (oConvertUtils.isNotEmpty(staticDomain) && staticDomain.toLowerCase().startsWith("http")) {
FILE_URL = staticDomain + "/" + fileUrl; url = staticDomain + File.separator + fileUrl;
} else { } 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()); PutObjectResult result = ossClient.putObject(newBucket, fileUrl.toString(), file.getInputStream());
// 设置权限(公开读) // 设置权限(公开读)
@@ -145,14 +146,11 @@ public class OssBootUtil {
if (result != null) { if (result != null) {
log.info(OSS_UPLOAD_CONSTANT + fileUrl); log.info(OSS_UPLOAD_CONSTANT + fileUrl);
} }
} catch (IOException e) { } catch (Exception e) {
e.printStackTrace();
return null;
}catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
return null; return null;
} }
return FILE_URL; return url;
} }
/** /**
@@ -188,7 +186,7 @@ public class OssBootUtil {
* @return oss 中的相对文件路径 * @return oss 中的相对文件路径
*/ */
public static String upload(FileItemStream file, String fileDir) { public static String upload(FileItemStream file, String fileDir) {
String FILE_URL = null; String url;
initOSS(endPoint, accessKeyId, accessKeySecret); initOSS(endPoint, accessKeyId, accessKeySecret);
StringBuilder fileUrl = new StringBuilder(); StringBuilder fileUrl = new StringBuilder();
try { try {
@@ -198,11 +196,11 @@ public class OssBootUtil {
fileDir = fileDir.concat("/"); fileDir = fileDir.concat("/");
} }
fileDir = StrAttackFilter.filter(fileDir); fileDir = StrAttackFilter.filter(fileDir);
fileUrl = fileUrl.append(fileDir + fileName); fileUrl.append(fileDir).append(fileName);
if (oConvertUtils.isNotEmpty(staticDomain) && staticDomain.toLowerCase().startsWith("http")) { if (oConvertUtils.isNotEmpty(staticDomain) && staticDomain.toLowerCase().startsWith("http")) {
FILE_URL = staticDomain + "/" + fileUrl; url = staticDomain + File.separator + fileUrl;
} else { } 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()); PutObjectResult result = ossClient.putObject(bucketName, fileUrl.toString(), file.openStream());
// 设置权限(公开读) // 设置权限(公开读)
@@ -214,7 +212,7 @@ public class OssBootUtil {
e.printStackTrace(); e.printStackTrace();
return null; return null;
} }
return FILE_URL; return url;
} }
/** /**
@@ -325,21 +323,21 @@ public class OssBootUtil {
* @return * @return
*/ */
public static String upload(InputStream stream, String relativePath) { public static String upload(InputStream stream, String relativePath) {
String FILE_URL = null; String url;
String fileUrl = relativePath; String fileUrl = relativePath;
initOSS(endPoint, accessKeyId, accessKeySecret); initOSS(endPoint, accessKeyId, accessKeySecret);
if (oConvertUtils.isNotEmpty(staticDomain) && staticDomain.toLowerCase().startsWith("http")) { if (oConvertUtils.isNotEmpty(staticDomain) && staticDomain.toLowerCase().startsWith("http")) {
FILE_URL = staticDomain + "/" + relativePath; url = staticDomain + File.separator + relativePath;
} else { } 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); ossClient.setBucketAcl(bucketName, CannedAccessControlList.PublicRead);
if (result != null) { if (result != null) {
log.info(OSS_UPLOAD_CONSTANT + fileUrl); log.info(OSS_UPLOAD_CONSTANT + fileUrl);
} }
return FILE_URL; return url;
} }