C# 使用SFTP重命名文件

C# 使用SFTP重命名文件,c#,ftp,sftp,C#,Ftp,Sftp,有一个分配给我的项目创建一些文件,并使用SFTP将这些文件发送到某个服务器。还有另一个程序可以读取文件并将其发送到另一个位置。文件是第一个发送到服务器的程序。它不断检查来自服务器的新文件,读取并发送。但问题有时是第二个程序读取的文件没有完全导入到该服务器。这会导致系统崩溃。他们告诉我在发送文件之前在第一个程序中进行更改,首先重命名文件并发送,然后在完成上传后再次重命名发送的文件,即服务器中的文件。这是可能的,还是有更好的方法。是否有人有一些想法,我想与我分享一下,这是一种很好的同步方法,我的意思

有一个分配给我的项目创建一些文件,并使用SFTP将这些文件发送到某个服务器。还有另一个程序可以读取文件并将其发送到另一个位置。文件是第一个发送到服务器的程序。它不断检查来自服务器的新文件,读取并发送。但问题有时是第二个程序读取的文件没有完全导入到该服务器。这会导致系统崩溃。他们告诉我在发送文件之前在第一个程序中进行更改,首先重命名文件并发送,然后在完成上传后再次重命名发送的文件,即服务器中的文件。这是可能的,还是有更好的方法。是否有人有一些想法,我想与我分享一下,这是一种很好的同步方法,我的意思是在传输过程中使用临时名称,并在最后立即重命名

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

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

捕获传输已完成的事件 请求重命名命令
那么你的问题是什么?如何根据标题使用SFTP重命名文件?为此,我们需要知道您使用的是什么SFTP库——或者这是可能的,或者有更好的方法吗另外,FTP和SFTP是两种完全不同的协议,所以请确保您知道您使用的是哪一种协议,并且只使用其中一个标记。我提到的第一个程序是一种旧程序。它不时升级到FTP、FTPS和SFTP。我问的是,是否可以重命名上传的文件。我问的更好的方法是“有没有一种方法可以在不重命名和不让系统崩溃的情况下上传文件”来停止拾取未正确上传的文件。我也不确定我提到FTP.sry是因为我的英语不好,先生