簡體   English   中英

如何使用SharpSSH庫在SFTP上獲取遠程文件的Stream對象?

[英]How to get a Stream object for a remote file on SFTP using SharpSSH library?

如何獲取Stream對象以讀取SFTP共享上的文件? 我看到可以使用Sftp類從SFTP下載文件,但是我需要一個Stream對象才能顯示下載進度。

嘗試從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); 

希望這可以幫助。

我對SharpSSH不熟悉,但是edtFTPnet / PRO是一個支持SFTP和FTPS的商業.NET庫,它使用BytesTransferred事件可以訂閱。

因此,您會定期收到有關已下載或上傳的文件數量的通知,如果在傳輸之前掌握了大小,則可以輕松地計算下載進度。

我認為SharpSSH有類似的活動可以訂閱。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM