WinSCP .NET 文件在下载时恢复不工作

WinSCP .NET File resume not working while downloading

我正在使用 WinSCP .NET 程序集下载文件。现在我需要支持文件恢复功能。

为此我所做的是

var options = new TransferOptions();
options.ResumeSupport.State = TransferResumeSupportState.On;

在我的下载代码中我已经完成了

 TransferOperationResult transferResult = session.GetFiles(
     _appSettings["SFTP_IncomingFileFolder"] + file.Folder + "/" + file.FileName,
     _appSettings["Local_IncomingFileFolder"] + file.Folder + "\" + file.FileName +".filepart", false, options);
 transferResult.Check();

现在检查文件是否恢复工作我在下载时断开连接。 问题是我现在每次下载都是从零开始,而不是从它离开的地方开始。

如果本地下载的长度为 30 MB,则类似于 100 MB 的文件。当我尝试重新连接时,它从零长度开始。

  1. .ResumeSupport 仅适用于 SFTP。

  2. 仅当您在下载第一个片段时已经设置了该标志时才有效,因此该片段具有 .filepart 扩展名(应该是这种情况,因为默认情况下是这样做的对于所有超过 100 KB 的文件)。

  3. .filepart 扩展名是自动添加的。如果您明确添加一个,WinSCP 将查找 .filepart.filepart。所以不要自己添加扩展名。

  4. 显式简历为supported since WinSCP 5.9.
    TransferOptions.OverwriteMode property 设置为 OverwriteMode.Resume


参考:


如果这没有帮助,请启用日志记录 (Session.SessionLogPath) 并向我们显示日志。