管道基础大数据平台系统开发-【后端】-Server
13693261870
2023-07-27 e05f80abb1e6d4bdb520002936e2d14434b469f1
修改上传文件的类型检测功能,屏蔽部分有效的文件
已修改3个文件
44 ■■■■■ 文件已修改
src/main/java/com/lf/server/entity/all/StaticData.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/lf/server/service/all/BaseUploadService.java 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/lf/server/service/data/UploadService.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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"));
    /**
     * 所有文件扩展名
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;
            }
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 {