如何获取Stream对象以读取SFTP共享上的文件? 我看到有使用Sftp类从SFTP下载文件的功能,但我需要一个Stream对象才能显示下载进度。
答案 0 :(得分:0)
我不熟悉SharpSSH,但edtFTPnet/PRO是支持SFTP和FTPS的商业.NET库,它使用您可以订阅的BytesTransferred事件。
因此,您会定期收到下载或上传的内容的通知,如果您在转移前获取了大小,则可以轻松计算下载进度。
我认为SharpSSH有类似的事件你可以订阅。
答案 1 :(得分:0)
尝试下载SSH.NET Library from CodePlex
此库有一个下载文件的方法
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);
希望这有帮助。