使用 SFTP 重命名文件

Rename files using SFTP

有一个分配给我的项目创建一些文件并使用 SFTP 将这些文件发送到某个服务器。还有另一个程序可以读取文件并将其发送到另一个地方(文件是第一个发送到服务器的程序)。它不断检查来自服务器的新文件并读取并发送。但问题有时是第二个程序读取的文件没有完全导入到该服务器。导致系统崩溃。他们告诉我在发送文件之前更改第一个程序,首先重命名文件并发送,完成上传后再次重命名发送的文件,服务器中的文件。这是可能的还是有更好的方法来做到这一点。有没有人有一些想法我恳请与我分享

这是一个很好的同步方法,我的意思是在传输过程中使用临时名称并在结束时立即重命名。

实施取决于您在程序中使用的方法。 它应该是这样的:

    //  Rename the file or directory:
    success = sftp.RenameFileOrDir("oldFilename.txt","newFilename.txt");
    if (success != true) {
        Console.WriteLine(sftp.LastErrorText);
        return;
    }

基本上:

  1. 捕捉传输完成事件
  2. 请求重命名命令