gpt4 book ai didi

java - 如何通过java邮件将ZipInputStream作为附件发送?

转载 作者:行者123 更新时间:2023-11-30 03:23:03 26 4
gpt4 key购买 nike

我有一个ZipInputStream。我们如何通过 java 邮件将 ZipInputStream 作为附件 (data.zip) 发送?

我见过一些解决方案,例如使用ByteArrayDatasource,但由于MimeBodyPart接收InputStream作为一个构造函数,并且我们有一个InputStream 方便,我想知道如何在不使用 ByteArrayDataSource 的情况下解决这个问题。

最佳答案

将数据写入文件然后附加该文件肯定会起作用,如果您不知道数据可能有多大,那么这是一个合理的选择。否则,ByteArrayDataSource 将允许您将数据保留在内存中,尽管它会首先复制数据。有更复杂的答案可能具有更好的性能,但这些是两种简单的方法。

但是,如果您拥有的只是 ZipInputStream,我不确定是否有办法读取原始 zip 格式数据,因此我认为您不能直接使用这两种方法。您要么需要直接访问 zip 文件,要么需要一个包含 zip 格式数据的真实 InputStream。

(不,您不会将 InputStream 传递给 MimeBodyPart 构造函数,因为它不是 MIME 格式实体;您使用它来构造某种类型的 DataSource,从中构造一个 DataHandler,在 MimeBodyPart 上设置该 DataHandler .)

关于java - 如何通过java邮件将ZipInputStream作为附件发送?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30876167/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com