【发布时间】:2018-09-01 10:36:07
【问题描述】:
我正在尝试使用
读取内容类型javax.mail.Multipart multipart = (MimeMultipart) mimeMessage.getContent(); //javax.mail.internet.MimeMessage
BodyPart bodyPart = multipart.getBodyPart(index);
由于内容类型分成两行,它返回文件名为 Null(我假设 80 个字符的最大限制是造成这种情况的原因)
注意:如果我在同一行手动移动名称,它可以正常工作。
有什么方法可以控制这种行为吗?
这个我可以读取文件名
Content-Type: application/pdf; name="abcdefghijk Application-Henry Gotter.pdf"
Content-Description: abcdefghijk Application-Henry Gotter.pdf
Content-Disposition: attachment;
filename="abcdefghijk Application-Henry Gotter.pdf"; size=418197;
creation-date="Fri, 09 Mar 2018 14:59:50 GMT";
modification-date="Thu, 22 Mar 2018 13:40:06 GMT"
Content-Transfer-Encoding: base64
这个我无法读取文件名
Content-Type: application/pdf;
name="abcdefghijk Suitability - Henry Gotter.pdf"
Content-Description: abcdefghijk Suitability - Henry Gotter.pdf
Content-Disposition: attachment;
filename="abcdefghijk Suitability - Henry Gotter.pdf"; size=418960;
creation-date="Fri, 09 Mar 2018 15:03:07 GMT";
modification-date="Thu, 22 Mar 2018 13:40:07 GMT"
Content-Transfer-Encoding: base64
提前致谢。
【问题讨论】:
-
name=和filename=真的各自为政吗?如果没有,请编辑问题并显示 real 标题。如果是这样,那么这是错误的标题,因为换行结束了标题 line。修复生成标题行的代码,以不将标题 line 分成两个 lines。 -
感谢您的回复,我已经在同一个电子邮件文件中使用两个标题更新了问题,第一个我能够读取文件名,而其他返回 null
标签: java jakarta-mail mime-types mime mime-message