繁体   English   中英

WinSCP:上传/下载文件时查看进度

[英]WinSCP: see progress while upload/download file

我使用WinSCP .NET库通过使用PutFiles(..)GetFiles(..)从SFTP服务器上载/下载文件。

上传/下载该服务器文件时,是否有办法查看进度? 因此,例如,要获取已下载的文件大小的百分比。

谢谢迈克尔

WinSCP库Session类上有一个FileTransferProgress事件。

您只需要注册该事件,然后从该处理程序中更新您的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事件args是用于上传还是下载。 其他属性包含有关传输速度,当前传输的文件等信息。

这是完整的文档: http : //winscp.net/eng/docs/library_session_filetransferprogress

编辑:在每次新传输(文件)开始时调用该事件,然后每次传输最多每秒一次。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM