使用SFTP重命名文件

时间:2017-08-18 11:37:05

标签: c# ftp sftp

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

1 个答案:

答案 0 :(得分:1)

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

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

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

基本上:

  1. 抓住转移完成事件
  2. 请求RENAME命令