diff --git a/src/main/java/com/ruoyi/file/utils/FileUploadUtils.java b/src/main/java/com/ruoyi/file/utils/FileUploadUtils.java index 0e78cc8..ac90ace 100644 --- a/src/main/java/com/ruoyi/file/utils/FileUploadUtils.java +++ b/src/main/java/com/ruoyi/file/utils/FileUploadUtils.java @@ -179,55 +179,62 @@ public class FileUploadUtils { System.out.println("传入的扩展名参数: [" + FilenameExtension + "]"); System.out.println("扩展名长度: " + (FilenameExtension != null ? FilenameExtension.length() : "null")); - if (FilenameExtension.equalsIgnoreCase(".bmp")) { + // 统一处理:如果没有点,自动添加点 + String extension = FilenameExtension; + if (extension != null && !extension.startsWith(".")) { + extension = "." + extension; + System.out.println("扩展名没有点,自动添加后: [" + extension + "]"); + } + + if (extension.equalsIgnoreCase(".bmp")) { return "image/bmp"; } - if (FilenameExtension.equalsIgnoreCase(".gif")) { + if (extension.equalsIgnoreCase(".gif")) { return "image/gif"; } - if (FilenameExtension.equalsIgnoreCase(".jpeg") || - FilenameExtension.equalsIgnoreCase(".jpg") || - FilenameExtension.equalsIgnoreCase(".png")) { + if (extension.equalsIgnoreCase(".jpeg") || + extension.equalsIgnoreCase(".jpg") || + extension.equalsIgnoreCase(".png")) { return "image/jpeg"; } - if (FilenameExtension.equalsIgnoreCase(".html")) { + if (extension.equalsIgnoreCase(".html")) { return "text/html"; } - if (FilenameExtension.equalsIgnoreCase(".txt")) { + if (extension.equalsIgnoreCase(".txt")) { return "text/plain"; } - if (FilenameExtension.equalsIgnoreCase(".vsd")) { + if (extension.equalsIgnoreCase(".vsd")) { return "application/vnd.visio"; } - if (FilenameExtension.equalsIgnoreCase(".pptx") || - FilenameExtension.equalsIgnoreCase(".ppt")) { + if (extension.equalsIgnoreCase(".pptx") || + extension.equalsIgnoreCase(".ppt")) { return "application/vnd.ms-powerpoint"; } - if (FilenameExtension.equalsIgnoreCase(".docx") || - FilenameExtension.equalsIgnoreCase(".doc")) { + if (extension.equalsIgnoreCase(".docx") || + extension.equalsIgnoreCase(".doc")) { return "application/msword"; } - if (FilenameExtension.equalsIgnoreCase(".xml")) { + if (extension.equalsIgnoreCase(".xml")) { return "text/xml"; } //PDF - if (FilenameExtension.equalsIgnoreCase(".pdf")) { + if (extension.equalsIgnoreCase(".pdf")) { return "application/pdf"; } //excel - if (".xls".equalsIgnoreCase(FilenameExtension)) { + if (".xls".equalsIgnoreCase(extension)) { return "application/vnd.ms-excel"; } - if (".xlsx".equalsIgnoreCase(FilenameExtension)) { + if (".xlsx".equalsIgnoreCase(extension)) { return "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"; } //waypoints 拓恒+大疆的航线文件类型 System.out.println("检查 waypoints 匹配:"); - System.out.println(" 与 '.waypoints' 比较: " + FilenameExtension.equalsIgnoreCase(".waypoints")); - System.out.println(" 与 '.kmz' 比较: " + FilenameExtension.equalsIgnoreCase(".kmz")); + System.out.println(" 与 '.waypoints' 比较: " + extension.equalsIgnoreCase(".waypoints")); + System.out.println(" 与 '.kmz' 比较: " + extension.equalsIgnoreCase(".kmz")); - if (FilenameExtension.equalsIgnoreCase(".waypoints") || - FilenameExtension.equalsIgnoreCase(".kmz")) { + if (extension.equalsIgnoreCase(".waypoints") || + extension.equalsIgnoreCase(".kmz")) { System.out.println("匹配成功! 返回 application/octet-stream"); return "application/octet-stream"; }