Javamail附件数据丢失

时间:2013-11-28 08:08:30

标签: java javamail

我使用Javamail在临时文件夹中保存附件,代码如下: -

for (int i = 0; i < multipartmsg.getCount(); ++i) {

    BodyPart bodypart = multipartmsg.getBodyPart(i);
              if (Part.ATTACHMENT.equalsIgnoreCase(bodypart.getDisposition())
                && null != bodypart.getFileName()
                    && !bodypart.getFileName().isEmpty()) {

            InputStream is = bodypart.getInputStream();
            MimeBodyPart mbp = new MimeBodyPart(is);
            File f = new File("/temp/"+abcd);

            mbp.saveFile(f);
    } 

但250kB文件保存为220kB。数据丢失,因此我无法打开该文件。知道为什么会这样吗?

我还设置了 properties.setProperty(“mail.imaps.partialfetch”,“false”); ,因为我使用imaps进行连接。

1 个答案:

答案 0 :(得分:0)

为什么要使用原始部件的内容创建新的MimeBodyPart?这没有任何意义,可能是你问题的根源。只需在原始部分使用saveFile方法。