Создать PDF и прикрепить к почте Java - PullRequest
1 голос
/ 27 июня 2011

У меня есть Java-класс, который генерирует PDF-файл. Я использую Java-почту для отправки электронной почты. Теперь я хочу знать, как прикрепить сгенерированный PDF-файл к Java-почте, не сохраняя в локальной сети .... Есть ли способattch pdf on fly ...

Ответы [ 2 ]

1 голос
/ 28 ноября 2011

На самом деле есть способ создать и прикрепить файл. Вы просто должны получить свои байты из файловых данных и указать конкретный тип контента. http://www.feedforall.com/mime-types.htm

public static class CustomFileDataSource extends FileDataSource {

        private byte[] data;

        public CustomFileDataSource(String fileName, byte[] data) {
            super(fileName);
            this.data = data;
        }

        @Override
        public String getContentType() {
            return "application/pdf";
        }

        @Override
        public InputStream getInputStream() throws IOException {

            return new ByteArrayInputStream(data);
        }

    }
    MimeBodyPart filePart = new MimeBodyPart();
    filePart.setDataHandler(new DataHandler(new CustomFileDataSource(file.getFileName(),file.getFile())));
    filePart.setFileName(file.getFileName());
    Multipart mp = new MimeMultipart();
    mp.addBodyPart(filePart);
    message.setContent(mp);
0 голосов
/ 27 июня 2011

Вы не можете этого сделать.Для этого потребуется как минимум временное место, которое будет сохранено локально, прежде чем присоединяться.Можете ли вы объяснить, почему вы хотите что-то подобное?Тогда мы сможем предложить решение для того, что вам действительно нужно.

...