我从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时,它仅使用InputStreamSource
或Datasource
。我的问题是我无法从通过SFTP通道获取的inputStream中获取
InputStreamSource
或Datasource
,如何从上述输入流中获取InputStreamSource
或Datasource
?提前致谢。 最佳答案
根据文档,InputStreamSource
是一个接口。它的实现之一是InputStreamResource
,它具有接受InputStream
的构造函数。 Here is the JavaDoc for it。
您应该能够像这样设置您的呼叫:
addAttachment("Not porn", new InputStreamResource(inputStream));