1

SFTP 共有にあるファイルを読み取るための Stream オブジェクトを取得するにはどうすればよいですか? Sftp クラスを使用して SFTP からファイルをダウンロードする機能があるようですが、ダウンロードの進行状況を表示するには Stream オブジェクトが必要です。

4

2 に答える 2

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 に答える
0

私は SharpSSH に詳しくありませんが、SFTP と FTPS をサポートする商用の .NET ライブラリであるedtFTPnet/PROは、サブスクライブできる BytesTransferred イベントを使用します。

そのため、ダウンロードまたはアップロードされた量が定期的に通知されます。転送する前にサイズを取得すると、ダウンロードの進行状況を簡単に計算できます。

SharpSSH には、サブスクライブできる同様のイベントがあると思います。

于 2010-03-15T00:17:10.187 に答える