Class UploadSecurityConfig

java.lang.Object
com.bytedesk.core.upload.UploadSecurityConfig

@Component @ConfigurationProperties(prefix="bytedesk.upload.security") public class UploadSecurityConfig extends Object
文件上传安全配置
  • Field Details

    • maxFileSize

      private long maxFileSize
      最大文件大小(字节),默认10MB
    • allowedExtensions

      private List<String> allowedExtensions
      允许的文件扩展名白名单
    • dangerousExtensions

      private List<String> dangerousExtensions
      危险文件扩展名黑名单
    • allowedMimeTypes

      private List<String> allowedMimeTypes
      允许的MIME类型
    • enableImageValidation

      private boolean enableImageValidation
      是否启用图片内容验证
    • enableFileNameFilter

      private boolean enableFileNameFilter
      是否启用文件名过滤
    • forceRename

      private boolean forceRename
      是否强制重命名文件
    • maxFileNameLength

      private int maxFileNameLength
      文件名最大长度
    • enableUploadLog

      private boolean enableUploadLog
      是否记录上传日志
    • enableVirusScan

      private boolean enableVirusScan
      是否启用病毒扫描(预留接口)
  • Constructor Details

    • UploadSecurityConfig

      public UploadSecurityConfig()
  • Method Details

    • initDefaults

      @PostConstruct public void initDefaults()
      初始化默认配置
    • isExtensionAllowed

      public boolean isExtensionAllowed(String extension)
      检查文件扩展名是否被允许
    • isMimeTypeAllowed

      public boolean isMimeTypeAllowed(String mimeType)
      检查MIME类型是否被允许
    • isFileSizeValid

      public boolean isFileSizeValid(long fileSize)
      检查文件大小是否超限
    • getMaxFileSizeDescription

      public String getMaxFileSizeDescription()
      获取格式化的最大文件大小描述
    • getDefaultAllowedExtensions

      private static List<String> getDefaultAllowedExtensions()
      获取默认允许的文件扩展名列表
    • getDefaultDangerousExtensions

      private static List<String> getDefaultDangerousExtensions()
      获取默认危险文件扩展名列表
    • getDefaultAllowedMimeTypes

      private static List<String> getDefaultAllowedMimeTypes()
      获取默认允许的MIME类型列表