2017-04-05 1 views
0

나는 javax에서 이메일 첨부 파일을 가져오고 있습니다. 내 코드는 여기에 있습니다 :outlook에 의한 첨부 파일 (javax getFileName을 사용하는 이상한 파일 이름)

String disposition = part.getDisposition(); 
if (disposition != null && 
    (disposition.equalsIgnoreCase(Part.ATTACHMENT) || disposition.equalsIgnoreCase(Part.INLINE))) { 
    log.debug("Found attachment: " + part.getFileName()); 
} 

그리고 잘 작동합니다. 그러나 이름에 latin 문자가 첨부 된 Outlook Webmail에서 전자 메일을 보내면 part.getFileName(). 첨부 파일 "Riunione_del_venerdì.pdf"는 "나에게 회신합니까?"? iso-8859-1? Q? Riunione_del_venerd = EC_20170303.pdf? = "올바른 이름을 가져올 수 없습니다.

어떻게받을 수 있습니까? 진짜 파일 이름? 어떻게해야합니까?

답변

0

잠시 후 나 혼자 해결책을 찾았습니다. javax.mail.internet에서 내가 사용할 수 있습니다 : "? ="

String filename = part.getFileName(); 
String decodedFilename = MimeUtility.decodeText(filename); 

파일 이름으로 시작하는 경우에만 어쩌면 그냥 이렇게 "? ="로 끝나야합니다.

관련 문제