From 7dcd225cea097d061abc0c764f10ec44b7330a5c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=AB=98=E9=9B=84?= Date: Wed, 6 Mar 2024 07:34:56 +0000 Subject: [PATCH 1/2] =?UTF-8?q?=E8=B0=83=E6=95=B4=E5=8E=8B=E7=BC=A9?= =?UTF-8?q?=E5=8C=85=20=E8=8E=B7=E5=8F=96=E8=B7=AF=E5=BE=84=E6=96=B9?= =?UTF-8?q?=E6=B3=95=20=E8=B0=83=E6=95=B4=E5=8E=8B=E7=BC=A9=E5=8C=85=20?= =?UTF-8?q?=E8=8E=B7=E5=8F=96=E8=B7=AF=E5=BE=84=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 高雄 --- .../java/cn/keking/service/FileHandlerService.java | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/server/src/main/java/cn/keking/service/FileHandlerService.java b/server/src/main/java/cn/keking/service/FileHandlerService.java index 13db88bb..d18af3ba 100644 --- a/server/src/main/java/cn/keking/service/FileHandlerService.java +++ b/server/src/main/java/cn/keking/service/FileHandlerService.java @@ -37,8 +37,6 @@ import org.springframework.util.StringUtils; import javax.servlet.http.HttpServletRequest; import java.awt.image.BufferedImage; import java.io.*; -import java.net.MalformedURLException; -import java.net.URL; import java.net.URLDecoder; import java.net.URLEncoder; import java.nio.charset.StandardCharsets; @@ -432,7 +430,8 @@ public class FileHandlerService implements InitializingBean { String outFilePath; //生成文件的路径 String originFilePath; //原始文件路径 String fullFileName = WebUtils.getUrlParameterReg(url, "fullfilename"); - String compressFileKey = WebUtils.getUrlParameterReg(url, "kkCompressfileKey"); //压缩包指定特殊符号 + String compressFileKey = WebUtils.getUrlParameterReg(url, "kkCompressfileKey"); //压缩包获取文件名 + String compressFilePath = WebUtils.getUrlParameterReg(url, "kkCompressfilepath"); //压缩包获取文件路径 if (StringUtils.hasText(fullFileName)) { originFileName = fullFileName; type = FileType.typeFromFileName(fullFileName); @@ -453,14 +452,10 @@ public class FileHandlerService implements InitializingBean { try { // http://127.0.0.1:8012/各类型文件1 - 副本.zip_/各类型文件/正常预览/PPT转的PDF.pdf?kkCompressfileKey=各类型文件1 - 副本.zip_ // http://127.0.0.1:8012/preview/各类型文件1 - 副本.zip_/各类型文件/正常预览/PPT转的PDF.pdf?kkCompressfileKey=各类型文件1 - 副本.zip_ 获取路径就会错误 需要下面的方法 - URL urll = new URL(url); - String _Path = urll.getPath(); //获取url路径 - String urlStrr = getSubString(_Path, compressFileKey); //反代情况下添加前缀,只获取有压缩包字符的路径 + String urlStrr = getSubString(compressFilePath, compressFileKey); //反代情况下添加前缀,只获取有压缩包字符的路径 originFileName = compressFileKey + urlStrr.trim(); //拼接完整路径 originFileName = URLDecoder.decode(originFileName, uriEncoding); //压缩包文件中文编码问题 attribute.setSkipDownLoad(true); - } catch (MalformedURLException e) { - e.printStackTrace(); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } From e79c53156ba36bc3f6e549be547ecc45f295f20b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=AB=98=E9=9B=84?= Date: Wed, 6 Mar 2024 07:35:37 +0000 Subject: [PATCH 2/2] =?UTF-8?q?=E8=B0=83=E6=95=B4=E5=8E=8B=E7=BC=A9?= =?UTF-8?q?=E5=8C=85=20=E8=8E=B7=E5=8F=96=E8=B7=AF=E5=BE=84=E6=96=B9?= =?UTF-8?q?=E6=B3=95=20=E8=B0=83=E6=95=B4=E5=8E=8B=E7=BC=A9=E5=8C=85=20?= =?UTF-8?q?=E8=8E=B7=E5=8F=96=E8=B7=AF=E5=BE=84=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 高雄 --- server/src/main/resources/web/compress.ftl | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/server/src/main/resources/web/compress.ftl b/server/src/main/resources/web/compress.ftl index add1eb58..d0b5c2fe 100644 --- a/server/src/main/resources/web/compress.ftl +++ b/server/src/main/resources/web/compress.ftl @@ -49,17 +49,15 @@ onClick: chooseNode, } }; - function chooseNode(event, treeId, treeNode) { if (!treeNode.isParent) { - var path = '${baseUrl}' + treeNode.id + "?kkCompressfileKey=" + '${fileTree}'; + var path = '${baseUrl}' + treeNode.id + "?kkCompressfileKey=" + '${fileTree}'+"&kkCompressfilepath=" + treeNode.id+"&fullfilename="+treeNode.name; location.href = "${baseUrl}onlinePreview?url=" + encodeURIComponent(Base64.encode(path)); } } - $(document).ready(function () { var url = '${fileTree}'; - $.ajax({ + $.ajax({ type: "get", url: "${baseUrl}directory?urls="+encodeURIComponent(Base64.encode(url)), success: function (res) {