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/entity/all/StaticData.java | 13 +++++++++---- src/main/java/com/lf/server/service/data/UploadService.java | 3 +-- src/main/java/com/lf/server/service/all/BaseUploadService.java | 28 +++++++++++++++++++--------- 3 files changed, 29 insertions(+), 15 deletions(-) diff --git a/src/main/java/com/lf/server/entity/all/StaticData.java b/src/main/java/com/lf/server/entity/all/StaticData.java index 06e70b8..206cf99 100644 --- a/src/main/java/com/lf/server/entity/all/StaticData.java +++ b/src/main/java/com/lf/server/entity/all/StaticData.java @@ -89,6 +89,11 @@ public final static String COMMA = ","; /** + * 娉㈡氮鍙� + */ + public final static String TILDE = "~"; + + /** * 鍗曞紩鍙� */ public final static String SINGLE_QUOTES = "'"; @@ -112,7 +117,7 @@ public final static String SHP = ".shp"; - public final static String _GDB = "gdb"; + public final static String NGDB = "gdb"; public final static String GDB = ".gdb"; @@ -227,12 +232,12 @@ /** * TIF鏂囦欢鎵╁睍鍚� */ - public final static List<String> TIF_EXT = new ArrayList<>(Arrays.asList(".prj", ".tfw", ".tif.ovr", ".tif.aux.xml", ".tif.enp", ".tif.xml")); + public final static List<String> TIF_EXT = new ArrayList<>(Arrays.asList(".prj", ".tfw", ".aux", ".tif.ovr", ".tif.aux.xml", ".tif.xml")); /** * TIFF鏂囦欢鎵╁睍鍚� */ - public final static List<String> TIFF_EXT = new ArrayList<>(Arrays.asList(".prj", ".tfw", ".tiff.ovr", ".tiff.aux.xml", ".tiff.enp", ".tiff.xml")); + public final static List<String> TIFF_EXT = new ArrayList<>(Arrays.asList(".prj", ".tfw", ".aux", ".tiff.ovr", ".tiff.aux.xml", ".tiff.xml")); /** * SHP鏂囦欢鎵╁睍鍚� @@ -242,7 +247,7 @@ /** * Mapper鎺掗櫎鎵╁睍鍚� */ - public final static List<String> MAPPER_EXCLUDE_EXT = new ArrayList<>(Arrays.asList(".img.aux.xml", ".img.xml", ".tif.aux.xml", ".tif.xml", ".tiff.aux.xml", ".tiff.xml", ".shp.xml")); + public final static List<String> MAPPER_EXCLUDE_EXT = new ArrayList<>(Arrays.asList(".jpg.aux.xml", ".jpg.xml", ".img.aux.xml", ".img.xml", ".tif.aux.xml", ".tif.xml", ".tiff.aux.xml", ".tiff.xml", ".shp.xml")); /** * 鎵�鏈夋枃浠舵墿灞曞悕 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; } diff --git a/src/main/java/com/lf/server/service/data/UploadService.java b/src/main/java/com/lf/server/service/data/UploadService.java index 6ceedc6..92f9304 100644 --- a/src/main/java/com/lf/server/service/data/UploadService.java +++ b/src/main/java/com/lf/server/service/data/UploadService.java @@ -19,7 +19,6 @@ import java.io.File; import java.sql.Timestamp; import java.util.ArrayList; -import java.util.HashMap; import java.util.List; /** @@ -492,7 +491,7 @@ } MetaEntity me = createMeta(mf, metaId); - if (StaticData._GDB.equals(me.getType())) { + if (StaticData.NGDB.equals(me.getType())) { if (guids.contains(me.getGuid())) { me.setMetaid(-1); } else { -- Gitblit v1.9.3