From 4cd6a4e4b913c5ea4b77de2abf64e4534b81587e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=AB=98=E9=9B=84?= Date: Sat, 8 Apr 2023 05:43:02 +0000 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=20=E6=94=AF=E6=8C=81?= =?UTF-8?q?=E5=8E=8B=E7=BC=A9=E5=8C=85=E5=AF=86=E7=A0=81=20=E4=BF=AE?= =?UTF-8?q?=E5=A4=8DLINUX=E4=B8=8B=E4=B8=AD=E6=96=87=E4=B9=B1=E7=A0=81=20?= =?UTF-8?q?=E8=A7=A3=E5=8E=8B=E6=94=AF=E6=8C=81=E6=96=87=E4=BB=B6=E7=9B=AE?= =?UTF-8?q?=E5=BD=95=20=E6=96=B0=E5=A2=9E=20=E6=94=AF=E6=8C=81=E5=8E=8B?= =?UTF-8?q?=E7=BC=A9=E5=8C=85=E5=AF=86=E7=A0=81=20=E4=BF=AE=E5=A4=8DLINUX?= =?UTF-8?q?=E4=B8=8B=E4=B8=AD=E6=96=87=E4=B9=B1=E7=A0=81=20=E8=A7=A3?= =?UTF-8?q?=E5=8E=8B=E6=94=AF=E6=8C=81=E6=96=87=E4=BB=B6=E7=9B=AE=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 高雄 --- .../keking/web/controller/FileController.java | 21 +++++++------------ 1 file changed, 7 insertions(+), 14 deletions(-) diff --git a/server/src/main/java/cn/keking/web/controller/FileController.java b/server/src/main/java/cn/keking/web/controller/FileController.java index 300aa1dc..3aea49f3 100644 --- a/server/src/main/java/cn/keking/web/controller/FileController.java +++ b/server/src/main/java/cn/keking/web/controller/FileController.java @@ -3,8 +3,8 @@ package cn.keking.web.controller; import cn.keking.config.ConfigConstants; import cn.keking.model.ReturnResponse; import cn.keking.utils.KkFileUtils; +import cn.keking.utils.RarUtils; import cn.keking.utils.WebUtils; -import cn.keking.service.CompressFileReader; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.util.ObjectUtils; @@ -21,12 +21,7 @@ import java.io.InputStream; import java.io.OutputStream; import java.nio.file.Files; import java.nio.file.Paths; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Objects; +import java.util.*; /** * @author yudian-it @@ -145,7 +140,7 @@ public class FileController { */ private ReturnResponse deleteFileCheck(String fileName) { if (ObjectUtils.isEmpty(fileName)) { - return ReturnResponse.failure("文件名为空,删除失败!"); + return ReturnResponse.failure("文件名为空!"); } try { fileName = WebUtils.decodeUrl(fileName); @@ -165,20 +160,18 @@ public class FileController { @GetMapping("/directory") public Object directory(String urls) { - if (ObjectUtils.isEmpty(urls)) { - return ReturnResponse.failure("地址不合法!"); + ReturnResponse checkResult = this.deleteFileCheck(urls); + if (checkResult.isFailure()) { + return checkResult; } String fileUrl; try { fileUrl = WebUtils.decodeUrl(urls); - if (fileUrl.toLowerCase().startsWith("file:") || fileUrl.toLowerCase().startsWith("file%3")) { - return ReturnResponse.failure("地址不合法!"); - } } catch (Exception ex) { String errorMsg = String.format(BASE64_DECODE_ERROR_MSG, "url"); return errorMsg; } - return CompressFileReader.getTree(fileUrl); + return RarUtils.getTree(fileUrl); } private boolean existsFile(String fileName) {