为了账号安全,请及时绑定邮箱和手机立即绑定

如何从字节数组构造文件以在电子邮件中将文件作为附件发送,而无需将文件或文件路径保存到磁盘?

如何从字节数组构造文件以在电子邮件中将文件作为附件发送,而无需将文件或文件路径保存到磁盘?

慕标琳琳 2022-09-22 15:42:16

在Java中,我有一个字节数组,它通常是来自外部API调用的文件。


我需要将此字节数组转换回文件,并将其作为附件在电子邮件中发送,而无需创建实际的文件或引用磁盘中的文件路径。


我很乐意进行外部API调用并使用文件附件构建电子邮件。除了我正在创建一个文件,该文件被保存到磁盘,然后通过电子邮件作为附件发送。


已尝试使用文件输出流写入文件的常用方法。


//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 回答

?
MMTTMM

TA贡献0条经验 获得超4个赞

试试这个:


final InputStreamSource fileStreamSource = new ByteArrayResource(byteArrayFileObj);

helper.addAttachment("Some-file-name", fileStreamSource);


查看完整回答
反对 回复 2022-09-22

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信