Javamail 获取一个额外的文件 关于下载附件
Javamail Getting one extra file On downloading attachments
我在下载附件时收到一个 File
类型的额外文件。我正在使用 MimeBodyPart.saveFile()
这是我的下载附件代码
for (MimeBodyPart mbp : msgToDownload.getAttachmentList()) {
updateProgress(msgToDownload.getAttachmentList().indexOf(mbp),
msgToDownload.getAttachmentList().size());
mbp.saveFile(DOWNLOAD_LOCATION + mbp.getFileName());
}
这里的msgToDownload
是一个Class,它以Message msg
为参数,加上一些其他参数。 getAttachmentList()
是 MimeBodyPart 类型的列表,定义为 List<MimeBodyPart>
这就是我将附件添加到列表的方式
sb.setLength(0);
msgToRender.clearAttachments();
Message msg = msgToRender.getMsgRef();
try {
// String messageType = msg.getContentType();
sb.append(getText(msg));
if (hasAttachments(msg)) {
Multipart mp = (Multipart) msg.getContent();
for (int i = mp.getCount() - 1; i >= 0; i--) {
BodyPart bp = mp.getBodyPart(i);
MimeBodyPart mbp = (MimeBodyPart) bp;
msgToRender.addAttachment(mbp);
}
}
}catch(Exception e){
}
额外文件包含邮件文本部分的属性。额外文件的内容
-001a114fd0aa0b377d0546bb84a0 Content-Type: text/plain; charset=UTF-8 please find the attachments... --001a114fd0aa0b377d0546bb84a0 Content-Type: text/html; charset=UTF-8 please find the attachments... --001a114fd0aa0b377d0546bb84a0--
首先,您应该了解 isMimeType 方法。
问题很可能是您没有处理 multipart/alternative 消息。见 sample code in the JavaMail FAQ.
我在下载附件时收到一个 File
类型的额外文件。我正在使用 MimeBodyPart.saveFile()
这是我的下载附件代码
for (MimeBodyPart mbp : msgToDownload.getAttachmentList()) {
updateProgress(msgToDownload.getAttachmentList().indexOf(mbp),
msgToDownload.getAttachmentList().size());
mbp.saveFile(DOWNLOAD_LOCATION + mbp.getFileName());
}
这里的msgToDownload
是一个Class,它以Message msg
为参数,加上一些其他参数。 getAttachmentList()
是 MimeBodyPart 类型的列表,定义为 List<MimeBodyPart>
这就是我将附件添加到列表的方式
sb.setLength(0);
msgToRender.clearAttachments();
Message msg = msgToRender.getMsgRef();
try {
// String messageType = msg.getContentType();
sb.append(getText(msg));
if (hasAttachments(msg)) {
Multipart mp = (Multipart) msg.getContent();
for (int i = mp.getCount() - 1; i >= 0; i--) {
BodyPart bp = mp.getBodyPart(i);
MimeBodyPart mbp = (MimeBodyPart) bp;
msgToRender.addAttachment(mbp);
}
}
}catch(Exception e){
}
额外文件包含邮件文本部分的属性。额外文件的内容
-001a114fd0aa0b377d0546bb84a0 Content-Type: text/plain; charset=UTF-8 please find the attachments... --001a114fd0aa0b377d0546bb84a0 Content-Type: text/html; charset=UTF-8 please find the attachments... --001a114fd0aa0b377d0546bb84a0--
首先,您应该了解 isMimeType 方法。
问题很可能是您没有处理 multipart/alternative 消息。见 sample code in the JavaMail FAQ.