我该如何使用SSHJ通过SCP流式传输文件?

4
我正在使用SSHJ库(https://github.com/shikhar/sshj)。
我可以使用sshClient.newSCPFileTransfer();来获取我的SCPClient对象,但是调用scpClient.download()需要一个字符串作为目标文件路径或LocalDestFile对象。我只想打开一个流以下载文件。有没有一种简单的方法使用SSHJ实现这个?
我查看了LocalDestFile的不同实现,但似乎没有适用于这种情况的内容。
具体的用例是从远程下载文件并将其流式传输到Web应用程序客户端的浏览器。我必须使用SCP来实现这一点,因此想要使用SSHJ库。
1个回答

4
我将通过扩展InMemoryDestFile类并将所需的OutputStream对象传递到构造函数中来解决这个问题,并在getOutputStream方法中返回它,从而成功解决了此问题。你可以参考以下GIST代码实例:https://gist.github.com/2157565。请注意,当你完成时,需要自行关闭OutputStream

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接