Как загрузить один файл с помощью Session.GetFiles в WinSCP C # - PullRequest
2 голосов
/ 08 ноября 2019

Итак, в основном я пытаюсь загрузить только один файл из всей папки на моем сервере.

Папка "домен" содержит эти файлы прямо сейчас:

File1.txt
File2.txt
File3.txt

Итак, как я вижу в документах WinSCP, если я хочу загрузить только один файл, мне все равно следует использовать метод Session.GetFiles() ()документы ) с полным путем к файлу. Хорошо, но я не могу понять, в чем моя проблема, потому что она не работает.

session.GetFiles("/domains/domain/File1.txt", Directory.GetCurrentDirectory());

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

session.GetFiles("/domains/domain/", Directory.GetCurrentDirectory());

1 Ответ

2 голосов
/ 08 ноября 2019

Как указано в документации к аргументу localPath Session.GetFiles, аргумент:

Полный путь для загрузки файла.

Так и должно быть:

var localPath = Path.Combine(Directory.GetCurrentDirectory(), "File1.txt");
session.GetFiles("/domains/domain/File1.txt", localPath);

Начиная с версии 5.16 (в настоящее время бета), вы можете упростить код с помощью Session.GetFileToDirectory,который делает то, что вы ожидали от Session.GetFiles:

session.GetFileToDirectory("/domains/domain/File1.txt", Directory.GetCurrentDirectory());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...