diff --git a/framework/sdk-parent/sdk/src/main/java/io/metersphere/commons/utils/FileUtils.java b/framework/sdk-parent/sdk/src/main/java/io/metersphere/commons/utils/FileUtils.java index 1dd32da6c6..f5e4461c46 100644 --- a/framework/sdk-parent/sdk/src/main/java/io/metersphere/commons/utils/FileUtils.java +++ b/framework/sdk-parent/sdk/src/main/java/io/metersphere/commons/utils/FileUtils.java @@ -34,9 +34,13 @@ public class FileUtils { public static final String ATTACHMENT_DIR = "/opt/metersphere/data/attachment"; public static final String ATTACHMENT_TMP_DIR = "/opt/metersphere/data/attachment/tmp"; - public static void validateFileName(String fileName) { - if (StringUtils.isNotEmpty(fileName) && StringUtils.contains(fileName, "." + File.separator)) { - MSException.throwException(Translator.get("invalid_parameter")); + public static void validateFileName(String... fileNames) { + if (fileNames != null) { + for (String fileName : fileNames) { + if (StringUtils.isNotEmpty(fileName) && StringUtils.contains(fileName, "." + File.separator)) { + MSException.throwException(Translator.get("invalid_parameter")); + } + } } } diff --git a/framework/sdk-parent/sdk/src/main/java/io/metersphere/service/ResourceService.java b/framework/sdk-parent/sdk/src/main/java/io/metersphere/service/ResourceService.java index 826f9e2dd8..c1d1ab03b3 100644 --- a/framework/sdk-parent/sdk/src/main/java/io/metersphere/service/ResourceService.java +++ b/framework/sdk-parent/sdk/src/main/java/io/metersphere/service/ResourceService.java @@ -5,6 +5,7 @@ import io.metersphere.commons.utils.FileUtils; import io.metersphere.commons.utils.LogUtil; import io.metersphere.i18n.Translator; import io.metersphere.request.MdUploadRequest; +import jakarta.annotation.Resource; import org.springframework.core.io.FileSystemResource; import org.springframework.http.HttpHeaders; import org.springframework.http.MediaType; @@ -14,7 +15,6 @@ import org.springframework.transaction.annotation.Transactional; import org.springframework.web.client.RestTemplate; import org.springframework.web.multipart.MultipartFile; -import jakarta.annotation.Resource; import java.io.File; import java.io.UnsupportedEncodingException; import java.net.URLDecoder; @@ -43,10 +43,8 @@ public class ResourceService { } public ResponseEntity getUiResultImage(String name, String reportId) { - if (name.contains("/")) { - MSException.throwException(Translator.get("invalid_parameter")); - } - return getImage(FileUtils.UI_IMAGE_DIR + "/" + reportId + "/" + name); + FileUtils.validateFileName(name, reportId); + return getImage(FileUtils.UI_IMAGE_DIR + File.separator + reportId + File.separator + name); } public ResponseEntity getImage(String path) { diff --git a/project-management/backend/src/main/java/io/metersphere/remote/service/ApiRelateService.java b/project-management/backend/src/main/java/io/metersphere/remote/service/ApiRelateService.java index 40b81c60ff..cda1f2c998 100644 --- a/project-management/backend/src/main/java/io/metersphere/remote/service/ApiRelateService.java +++ b/project-management/backend/src/main/java/io/metersphere/remote/service/ApiRelateService.java @@ -76,7 +76,7 @@ public class ApiRelateService { if (CollectionUtils.isNotEmpty(requestList)) { try { microService.postForData(MicroServiceName.API_TEST, - "/api/definition/update/file/", + "/api/definition/update/file", requestList); } catch (Exception e) { LogUtil.error(e);