1

如何让 Stream 对象读取 SFTP 共享上的文件?我看到有使用 Sftp 类从 SFTP 下载文件的功能,但我需要一个 Stream 对象才能显示下载进度。

4

2 回答 2

0

我不熟悉 SharpSSH,但edtFTPnet/PRO是一个支持 SFTP 和 FTPS 的商业 .NET 库,它使用您可以订阅的 BytesTransferred 事件。

因此,您会定期收到有关已下载或上传多少的通知,如果您在传输前获取大小,则可以轻松计算下载进度。

我假设 SharpSSH 有一个你可以订阅的类似事件。

于 2010-03-15T00:17:10.187 回答
0

尝试从 CodePlex 下载 SSH.NET 库

这个库有一个下载文件的方法

public void DownloadFile(string path, Stream output);

但我使用 System.Net.WebClient.DownloadData 方法在 sftp 服务器中获取文件,该方法返回一个 byteArray,可以轻松转换为 Stream。

WebClient client = new WebClient();
byte[] file = client.DownloadData(url);
Stream stream = new MemoryStream(file); 

希望这可以帮助。

于 2012-10-16T16:34:36.040 回答