PutFiles(..)
私は WinSCP .NET ライブラリを使用して、 およびを使用して SFTP サーバーからファイルをアップロード/ダウンロードしますGetFiles(..)
。
このサーバーのファイルのアップロード/ダウンロード中に進行状況を確認する方法はありますか? たとえば、既にダウンロードされているファイル サイズのパーセンテージを取得するには、次のようにします。
ありがとう、マイケル
PutFiles(..)
私は WinSCP .NET ライブラリを使用して、 およびを使用して SFTP サーバーからファイルをアップロード/ダウンロードしますGetFiles(..)
。
このサーバーのファイルのアップロード/ダウンロード中に進行状況を確認する方法はありますか? たとえば、既にダウンロードされているファイル サイズのパーセンテージを取得するには、次のようにします。
ありがとう、マイケル
WinSCP ライブラリのクラスFileTransferProgress
に関するイベントがあります。Session
そのイベントに登録して、そのハンドラー内から UI を更新するだけです。
using (Session session = new Session())
{
// Will continuously report progress of transfer
session.FileTransferProgress += SessionFileTransferProgress;
/* Down / upload code here */
}
void SessionFileTransferProgress(object sender, FileTransferProgressEventArgs e)
{
// Print transfer progress
Console.Write("\r{0} ({1:P0})", e.FileName, e.FileProgress);
}
FileTransferProgressEventArgs.Side
イベント引数がアップロード用かダウンロード用かを判別できることに注意してください。その他のプロパティには、転送速度、現在転送されているファイルなどに関する情報が含まれています...
完全なドキュメントは次のとおりです。 http://winscp.net/eng/docs/library_session_filetransferprogress
編集:イベントは、各新しい転送 (ファイル) の開始時に呼び出され、その後、転送ごとに最大で 1 秒に 1 回呼び出されます。