Я использую SSH.NET для загрузки файла с SFTP, и вот мой код:
string host = ConfigurationManager.AppSettings["SFTPDomain"];
string username = ConfigurationManager.AppSettings["SFTPUser"];
string password = ConfigurationManager.AppSettings["SFTPPass"];
string remoteFileName = ConfigurationManager.AppSettings["SFTPFileName"].ToString();
using (var sftp = new SftpClient(host, username, password))
{
sftp.Connect();
using (var file = File.OpenWrite(FilePath))
{
sftp.DownloadFile(remoteFileName, file);
}
sftp.Disconnect();
}
Проблема в том, что файл csv загружается, но в нем нет данных. Я также изменил путь к удаленному файлу, но файл все равно загружается с нулевыми данными внутри. Я попытался проверить, существует ли файл, используя
if (sftp.Exists(remoteFileName))
{
}
Он всегда возвращает true, даже если я меняю remoteFileName на "pp"
.
Может ли кто-нибудь помочь мне, что я делаю неправильно? Или порекомендуйте мне другую другую библиотеку для загрузки файла с SFTP-сервера. Я пробовал WinSCP, но получаю ошибку ключа хоста, поэтому я попытался передать правильный SshHostKeyFingerprint
в соответствии с учебником а>. Тем не менее я получаю ошибку hostkey. Есть ли какая-нибудь простая библиотека, которую мне просто нужно загрузить с SFTP?
HostKeyReceived
и проверить ключ хоста. Проверка ключа осуществляется WinSCP для обеспечения безопасности. - person Martin Prikryl   schedule 07.10.2014