Вопрос об удаленном пути Linux по sftp в программе на C#Linux

Ответить
Anonymous
 Вопрос об удаленном пути Linux по sftp в программе на C#

Сообщение Anonymous »

Я пытаюсь использовать SSH.NET для подключения к Linux-серверу с помощью SFTP-соединения для загрузки файла в каталог окна.
Вот мой код

Код: Выделить всё

string hostname = "1.1.1.1";
            string username = "test";
            string password = "test";
            string localFilePath = @"C:\test\";
            string NasFolderPath = “I have no idea about this path”;
            string remoteDestinationPath = "";

            LogWriter.LogWrite("Dest: "+ localFilePath + ", Source: " +NasFolderPath);

            try
            {
                using (var client = new SshClient(hostname, 22, username, password))
                {
                    client.Connect();
                    LogWriter.LogWrite("connectClient");

                    var sftp = new SftpClient(client.ConnectionInfo);
                    sftp.Connect();
                    LogWriter.LogWrite("ConnectSFTP");

                    var files = sftp.ListDirectory(NasFolderPath);
                    LogWriter.LogWrite("ConnectFolder" + files);
                    foreach (var file in files)
                    {
                        LogWriter.LogWrite(file.ToString());
                        if (!file.IsDirectory)
                        {
                            LogWriter.LogWrite("HaveDirectory");
                            using (var fileStream = System.IO.File.Create(Path.Combine(localFilePath, file.Name)))
                            {
                                LogWriter.LogWrite("TryToCopyFile");
                                sftp.DownloadFile(file.FullName, fileStream);
                                LogWriter.LogWrite("File downloaded and moved successfully.");
                            }
                        }
                    }
                    sftp.Disconnect();

                    // Download the file

                    ////Upload the file
                    //using (var fileStream = File.OpenRead("localFilePath"))
                    //{
                    //    client.UploadFile(fileStream, "remoteDestinationPath", true);
                    //}

                    ////Optionally, delete the source file
                    //client.DeleteFile("remoteFilePath");

                    client.Disconnect();
                }
            }
            catch (Exception ex)
            {
                LogWriter.LogWrite($"An error occurred: {ex.Message}");
            }
Путь к каталогу на сервере Linux — «volume1/TestFile».
Я пробовал использовать
«sftp://» test@1.1.1.1/volume1/TestFile”
“sftp://test@1.1.1.1/volume1/TestFile/”
“1.1.1.1/volume1/TestFile”
“1.1. 1.1/volume1/TestFile/”
“sftp://test@1.1.1.1/TestFile”
“sftp://test@1.1.1.1/TestFile/”
“1.1.1.1 /TestFile”
“1.1.1.1/TestFile/”
“\1.1.1.1\TestFile\”
Но кажется, что все это возвращается с сообщением об ошибке “ такого файла нет»
Каков правильный путь для NasFolderPath?
Или в моем коде есть какая-либо другая ошибка?

Подробнее здесь: https://stackoverflow.com/questions/785 ... rp-program
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Linux»