Как переместить файл в sftp с помощью библиотеки renci? - PullRequest
0 голосов
/ 26 декабря 2018

Я пытаюсь переместить файл, но ничего не происходит и об исключениях не сообщается.

    public static void MoveFiles(string source, string destination, LoginInfo loginInfo)
    {
        using (SftpClient sftp = new SftpClient(loginInfo.Uri, loginInfo.Port, loginInfo.User, loginInfo.Password))
        {
            foreach (SftpFile file in sftp.ListDirectory(source))
            {
                file.MoveTo(destination + file.Name);
            }
        }
    }

Отладчик просто выходит из foreach:

enter image description here

Что я делаю не так?

Я использую следующие зависимости:

using Renci.SshNet;
using Renci.SshNet.Sftp;

1 Ответ

0 голосов
/ 26 декабря 2018

Сначала необходимо подключить клиент к серверу, используя

sftp.Connect();

Источник

И вы должны также обернуть его в try-catch в случаелюбые ошибки.

public static void MoveFiles(string source, string destination, LoginInfo loginInfo) {
    try {
        using (SftpClient sftp = new SftpClient(loginInfo.Uri, loginInfo.Port, loginInfo.User, loginInfo.Password)) {
            sftp.Connect();
            var files = sftp.ListDirectory(source)
            foreach (SftpFile file in files) {
                file.MoveTo(destination + file.Name);
            }
        }
    } catch(Exception ex) {
        //...handle
    }
}
...