2017-04-05 6 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()); 
} 

、それがうまく機能: 私のコードはここにあります。しかし、名前にラテン文字を付けた電子メールが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); 

ファイル名で始まる場合にのみ、多分ちょうどこれを行います「?=」で終わります。

関連する問題