ошибка: Renci.SshNet.Common.SftpPathNotFoundException: «Нет такого файла» в c # - PullRequest
0 голосов
/ 06 февраля 2019

поэтому у меня есть этот код:

public static void UploadSFTPFile(string host, string username,
    string password, string sourcefile, string destinationpath, int port)
    {
        string Ip = "";
        String strHostName = string.Empty;
        IPHostEntry ipEntry = Dns.GetHostEntry(strHostName);
        IPAddress[] addr = ipEntry.AddressList;

        for (int i = 0; i < addr.Length; i++)
        {
            Ip = (addr[i].ToString());
        }
        using (SftpClient client = new SftpClient(host, port, username, password))
        {
            client.Connect();
            client.ChangeDirectory(destinationpath);
            using (FileStream fs = new FileStream(sourcefile, FileMode.Open))
            {
                client.BufferSize = 4 * 1024;
                client.UploadFile(fs, Path.GetFileName(sourcefile));

            }
            client.WriteAllText("C:/Users/Public/Documents/192.168.0.112.json", "jeff");
        }
    }

Я использую этот метод для загрузки файлов на мой сервер sftp.это прекрасно работает, но я также пытаюсь что-то записать в файл:

 client.WriteAllText("C:/Users/Public/Documents/Test.json", "jeff");

, здесь я получаю сообщение об ошибке:

Renci.SshNet.Common.SftpPathNotFoundException: 'No such file'

что я делаю неправильно, это гдефайл находится, а я админ.

1 Ответ

0 голосов
/ 06 февраля 2019

В Windows разделитель папок является обратной косой чертой "\" не является косой чертой "/"

Скорее используйте

client.WriteAllText(@"C:\Users\Public\Documents\Test.json", "jeff");
//                  ^---------------------- Notice the @ that will automatically escape the \
...