18

我正在从 Jsch channelSFTP 获取输入流,如下所示。

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

我必须unixPath在 Spring javaMail 附件中附加文件。但是当我看到 Spring JavaMailaddAttachment()方法的 API 时,它只需要InputStreamSourceor Datasource。我的问题是我无法从我从 SFTP 通道获取的 inputStream 中获取InputStreamSourceor 。如何从上面的 inputstream获取or ?提前致谢。DatasourceInputStreamSourceDatasource

4

1 回答 1

45

从文档来看,InputStreamSource是一个接口。它的一个实现是InputStreamResource,它有一个构造函数,它接受一个InputStream. 这是它的 JavaDoc

您应该可以这样设置您的通话:

addAttachment("Not porn", new InputStreamResource(inputStream));
于 2012-11-05T18:39:39.660 回答