我需要使用JavaMail发送PDF文件。 PDF当前是一个字节[]。如何将其放入数据源?

byte[] pdffile = ....

messageBodyPart = new MimeBodyPart();

DataSource source = ???

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

multipart.addBodyPart(messageBodyPart);

最佳答案

使用 javax.mail.util.ByteArrayDataSource :

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

您可能知道,如果PDF位于文件系统上,那么 FileDataSource 会更容易:
DataSource source = new FileDataSource(pdfpath);

10-05 22:09