【发布时间】:2019-08-09 17:01:27
【问题描述】:
我正在创建一个 BufferedImage,我正在尝试将它包含到 MimeBodyPart
如下:
BufferedImage img=generateQR(otp);
messageBodyPart = new MimeBodyPart();
File test = new File("phill.png");
ImageIO.write(img, "png", test);
DataSource fds = new FileDataSource(test);
messageBodyPart.setDataHandler(new DataHandler(fds));
messageBodyPart.setFileName("./phill.png");
messageBodyPart.setHeader("Content-ID", "<image>");
multipart.addBodyPart(messageBodyPart);
test.delete();
有没有办法在不创建File 的情况下附加BufferedImage?
请假设
- generateQR() 存在
- 有一个 HTML
MimeBodyPart
【问题讨论】:
-
您可以将
write的图像数据发送到任何OutputStream,例如到ByteArrayOutputStream,然后根据需要使用写入(到内存)的字节。 -
@JimmyB 如何将字节附加到
MimeBodyPart? :// -
@PhillAlexakis,也许使用ByteArrayDataSource 而不是
FileDataSource? -
@JimmyB 你是对的,也谢谢你!
标签: java jakarta-mail