4

JavaMailを使用してPDFファイルを送信する必要があります。PDFは現在byte[]です。どうすればデータソースに取り込むことができますか?

byte[] pdffile = ....

messageBodyPart = new MimeBodyPart();

DataSource source = ???

messageBodyPart.setDataHandler(new DataHandler(source));
messageBodyPart.setFileName(filename);

multipart.addBodyPart(messageBodyPart);
4

2 に答える 2

7

使用javax.mail.util.ByteArrayDataSource

DataSource source = new ByteArrayDataSource(pdffile, "application/pdf");

ご存知かもしれませんが、PDFがファイルシステム上にある場合は、次の方が簡単ですFileDataSource

DataSource source = new FileDataSource(pdfpath);
于 2009-11-16T20:42:16.313 に答える
3

jheddingsの答えは私には正しいように思えますが、万が一、アプリケーションでSpringフレームワークを使用している場合は、すばらしいaddAttachment()メソッドを含むSpring MimeMessageHelperを利用できることも付け加えておきます(そして、残りのメッセージ作成も簡単です)。

于 2009-11-16T20:47:02.357 に答える