我从后端收到了一条我试图阅读的多部分消息。该消息例如如下:
Content-Type: image/jpeg; name*=UTF-8''jyrkik%C3%AF%C2%BF%C2%BFteinen.jpg
Content-Transfer-Encoding: BASE64
Content-Disposition: attachment; filename*=UTF-8''jyrkik%C3%AF%C2%BF%C2%BFteinen.jpg
文件名是jyrkikäteinen.jpg。 总是当有斯堪的纳维亚字母时,即使我可以在消息中看到它,文件名也是null,但在其他情况下(文件名不包括scandic字母)getFileName工作正常。在“正常”情况下,fileName部分是这样的:
Content-Disposition: attachment; filename=hellsinski_header.png
MimeBodyPart content = (MimeBodyPart)multipart.getBodyPart(n);
if(content.getDisposition() !=null && content.getDisposition().equals(BodyPart.ATTACHMENT)){
content.getFileName(); // This is always null if scandic letters in name
我尝试设置属性properties.setProperty(“mail.mime.decodefilename”,“true”),但它没有帮助。