我从Jsch channelSFTP获得输入流,如下所示。

   ChannelSftp channelSftp = (ChannelSftp)channel;
   InputStream input=channelsftp.get(unixPath);//unixPath is path to my file which is on SFTP server


我必须将文件附加到Spring javaMail附件的unixPath中。但是,当我看到Spring JavaMail addAttachment()方法的API时,它仅使用InputStreamSourceDatasource
我的问题是我无法从通过SFTP通道获取的inputStream中获取InputStreamSourceDatasource,如何从上述输入流中获取InputStreamSourceDatasource?提前致谢。

最佳答案

根据文档,InputStreamSource是一个接口。它的实现之一是InputStreamResource,它具有接受InputStream的构造函数。 Here is the JavaDoc for it

您应该能够像这样设置您的呼叫:

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

08-07 15:02