Forráskód Böngészése

feat:邮件解析-修复获取不到附件的问题

mozuwen 6 hónapja
szülő
commit
b070357f10

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

@@ -188,6 +188,31 @@ public class EmailUtil {
                     }
                     emailContentInfoDTO.setFileName(fileName);
                     emailContentInfoDTO.setFilePath(savePath);
+            }else {
+                try {
+                    if (part.getFileName() == null) {
+                        return emailContentInfoDTO;
+                    }
+                    String fileName1 = MimeUtility.decodeText(part.getFileName());
+                    if (!isSupportedFileType(fileName1)) {
+                        return emailContentInfoDTO;
+                    }
+                    emailContentInfoDTO.setFileName(fileName1);
+                    String realPath = filePath + fileName1;
+                    File saveFile = new File(realPath);
+                    if (!saveFile.exists()) {
+                        if (!saveFile.getParentFile().exists()) {
+                            saveFile.getParentFile().mkdirs();
+                        }
+                        FileUtil.saveFile(saveFile, part);
+                    } else {
+                        FileUtils.deleteQuietly(saveFile);
+                        FileUtil.saveFile(saveFile, part);
+                    }
+                    emailContentInfoDTO.setFilePath(realPath);
+                } catch (Exception e) {
+                    return emailContentInfoDTO;
+                }
             }
         } catch (MessagingException e) {
             logger.info("邮件正文采集失败 -> 文件名:{}, 报错堆栈:{}", fileName, ExceptionUtil.stacktraceToString(e));