如何将inputstream转换为要在SpringJavaMail中附加的InputStreamsource或Datasource

如何将inputstream转换为要在SpringJavaMail中附加的InputStreamsource或Datasource,spring,jakarta-mail,inputstream,sftp,jsch,Spring,Jakarta Mail,Inputstream,Sftp,Jsch,我正在从Jsch通道SFTP获取inputstream,如下所示 ChannelSftp channelSftp = (ChannelSftp)channel; InputStream input=channelsftp.get(unixPath);//unixPath is path to my file which is on SFTP server 我必须在SpringJavaMail附件的unixPath中附加该文件。但当我看到SpringJavaMail方法的API时,它

我正在从Jsch通道SFTP获取inputstream,如下所示

   ChannelSftp channelSftp = (ChannelSftp)channel;
   InputStream input=channelsftp.get(unixPath);//unixPath is path to my file which is on SFTP server
我必须在SpringJavaMail附件的
unixPath
中附加该文件。但当我看到SpringJavaMail方法的API时,它只需要
InputStreamSource
Datasource
。 我的问题是我无法从我从SFTP通道获取的inputStream中获取
InputStreamSource
Datasource
。如何从上述inputStream中获取
InputStreamSource
Datasource
?提前谢谢

从文档中,是一个接口。它的一个实现是,它有一个接受
InputStream
的构造函数

您应该能够将通话设置为:

addAttachment("Not porn", new InputStreamResource(inputStream));

对我来说,确切地说是message.addAttachment(“somefile name”,新的ByteArrayResource(IOUtils.toByteArray(channelSftp.get(unixPath));正在工作。无论如何感谢您的想法。请注意,此方法不允许已打开的
inputStream
。打开该可怕的文件名“not porn”