【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 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;
}