Explorar o código

fix: 处理文件路径有空格的问题,如果文件路径带空格,直接替换掉空格

chenjianhua hai 4 meses
pai
achega
5774f1aa4d

+ 4 - 0
service-base/src/main/java/com/simuwang/base/common/util/EmailUtil.java

@@ -67,6 +67,8 @@ public class EmailUtil {
             if ("String".equals(contentClass)) {
                 // 文件名 = 邮件主题 + 邮件日期
                 String fileName = emailTitle + "_" + emailDate + ".html";
+                //处理空格问题导致数据无法正常解析,在linux下会把有空格的文件路径使用单引号处理文件路径导致无法正常读取数据
+                fileName = fileName.replaceAll(" ","");
                 String content = partContent.toString();
                 emailContentInfoDTO = collectTextPart(part, content, filePath, fileName);
             } else if ("BASE64DecoderStream".equals(contentClass)) {
@@ -100,6 +102,8 @@ public class EmailUtil {
                     if ("String".equals(contentClass)) {
                         // 文件名 = 邮件主题 + 邮件日期
                         String fileName = emailTitle + "_" + emailDate + ".html";
+                        //处理空格问题导致数据无法正常解析,在linux下会把有空格的文件路径使用单引号处理文件路径导致无法正常读取数据
+                        fileName = fileName.replaceAll(" ","");
                         String content = partContent.toString();
                         emailContentInfoDTO = collectTextPart(part, content, filePath, fileName);
                     }

+ 3 - 2
service-daq/src/main/java/com/simuwang/daq/service/EmailParseService.java

@@ -1002,8 +1002,9 @@ public class EmailParseService {
                     emailContentInfoDTO.setEmailContent(content.toString());
                     emailContentInfoDTO.setEmailDate(emailDateStr);
                     emailContentInfoDTO.setEmailTitle(message.getSubject());
-                    String fileName = message.getSubject() + DateUtil.format(emailDate, DateConst.YYYYMMDDHHMMSS24);
-                    String filePath = path + mailboxInfoDTO.getAccount() + "/" + DateUtil.format(emailDate, DateConst.YYYY_MM_DD) + "/" + fileName + ".html";
+                    String fileName = message.getSubject() + DateUtil.format(emailDate, DateConst.YYYYMMDDHHMMSS24) + ".html";
+                    fileName = fileName.replaceAll(" ","");
+                    String filePath = path + mailboxInfoDTO.getAccount() + "/" + DateUtil.format(emailDate, DateConst.YYYY_MM_DD) + "/" + fileName;
                     File saveFile = new File(filePath);
                     saveFile.setReadable(true);
                     if (!saveFile.exists()) {