Как создать файл из байтового массива для отправки файла в виде вложения в электронную почту без сохранения файла или пути к файлу на диск? - PullRequest
0 голосов
/ 04 апреля 2019

В Java у меня есть байтовый массив, который обычно является файлом из внешнего вызова API.

Мне нужно преобразовать этот байтовый массив обратно в файл и отправить его в виде вложения в электронное письмо без создания фактического файла или ссылки на путь к файлу на диске .

Мне удобно делать внешние вызовы API и создавать электронную почту с вложенным файлом. За исключением того факта, что я создаю файл, который сохраняется на диск, а затем отправляется в виде вложения по электронной почте.

Пробовал обычный способ записи в файл с использованием FileOutputStream.

//Convert Byte Array to File
byte[] byteArrayFileObj = someProcess();
File attachmentFile = new File("FileName.abc");
OutputStream os = new FileOutputStream(attachmentFile);
os.write(byteArrayFileObj);
os.close();

//Attach the File as an E-Mail Attachment
MimeMessageHelper helper = new MimeMessageHelper(message, true);
helper.addAttachment(attachmentFile.getName(), attachmentFile);

Мне нужно отправить электронное письмо с файлом в качестве вложения без сохранения файла на диск. В моем случае он сохраняет копию файла на диск.

Много гуглил. Но осталось без ответов по существу. Заранее спасибо.!

1 Ответ

0 голосов
/ 04 апреля 2019

Попробуйте с этим:

final InputStreamSource fileStreamSource = new ByteArrayResource(byteArrayFileObj);
helper.addAttachment("Some-file-name", fileStreamSource);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...