From e05f80abb1e6d4bdb520002936e2d14434b469f1 Mon Sep 17 00:00:00 2001 From: 13693261870 <252740454@qq.com> Date: 星期四, 27 七月 2023 14:44:57 +0800 Subject: [PATCH] 修改上传文件的类型检测功能,屏蔽部分有效的文件 --- src/main/java/com/lf/server/service/all/BaseUploadService.java | 28 +++++++++++++++++++--------- 1 files changed, 19 insertions(+), 9 deletions(-) diff --git a/src/main/java/com/lf/server/service/all/BaseUploadService.java b/src/main/java/com/lf/server/service/all/BaseUploadService.java index 2bb8137..ce2ea15 100644 --- a/src/main/java/com/lf/server/service/all/BaseUploadService.java +++ b/src/main/java/com/lf/server/service/all/BaseUploadService.java @@ -145,7 +145,7 @@ for (File f : files) { String fileName = FileHelper.getFileName(f.getPath()); String extName = FileHelper.getExtension(fileName); - if (!isExtValid(extName)) { + if (!isFileValid(f.getName())) { continue; } @@ -252,8 +252,7 @@ private void getFilesByPath(List<File> list, String path) { File file = new File(path); if (!file.isDirectory()) { - String extName = FileHelper.getExtension(file); - if (isExtValid(extName)) { + if (isFileValid(file.getName())) { list.add(file); } return; @@ -272,8 +271,7 @@ if (f.isDirectory()) { getFilesByPath(list, f.getPath()); } else { - String extName = FileHelper.getExtension(f); - if (isExtValid(extName)) { + if (isFileValid(f.getName())) { list.add(f); } } @@ -281,10 +279,22 @@ } /** - * 鎵╁睍鏄惁鏈夋晥 + * 鏂囦欢鏄�/鍚︽湁鏁� */ - private boolean isExtValid(String extName) { - return StaticData.ALL_EXTENSION.contains(extName) && !StaticData.MAPPER_EXCLUDE_EXT.contains(extName); + private boolean isFileValid(String fileName) { + String extName = FileHelper.getExtension(fileName); + if (fileName.startsWith(StaticData.TILDE) || !StaticData.ALL_EXTENSION.contains(extName)) { + return false; + } + + fileName = fileName.toLowerCase(); + for (String ext : StaticData.MAPPER_EXCLUDE_EXT) { + if (fileName.contains(ext)) { + return false; + } + } + + return true; } /** @@ -302,7 +312,7 @@ String fileName = FileHelper.getFileName(f.getPath()); String extName = isOsgb ? StaticData.OSGB : FileHelper.getExtension(fileName); - if (!isExtValid(extName) || fileName.startsWith("~")) { + if (!isFileValid(f.getName())) { continue; } -- Gitblit v1.9.3