Я работаю над приложением, в котором я загружаю файлы с помощью сборки WinSCP .NET (версия 5.5.0.3839)
Мой код для загрузки файла приведен ниже
public bool ReceiveFile(string ftpFilePath,out String downloadedFileName, String DestinationPath)
{
bool sendingStatus = false;
downloadedFileName = string.Empty;
try
{
if (sessionOptions != null)
{
using (Session session = new Session())
{
// Connect
bool isSessionOpened = OpenSession(session);
if (isSessionOpened)
{
// Upload files
TransferOptions transferOptions = new TransferOptions();
transferOptions.TransferMode = TransferMode.Automatic;
TransferOperationResult transferResult;
transferResult = session.GetFiles(ftpFilePath, DestinationPath, false, transferOptions);
// Throw on any error
transferResult.Check();
// Print results
foreach (TransferEventArgs transfer in transferResult.Transfers)
{
sendingStatus = true;
downloadedFileName = transfer.FileName;
//We are breaking here because we are assuming that for one import batch setup only one file will be downloaded
break;
}
}
}
}
}
catch (Exception ex)
{
}
return sendingStatus;
}
FTP работает нормально, но для работы с SFTP требуется ключ хоста.
Когда я работал с приложением WinSCP напрямую, оно выдает предупреждение для ключа хоста, и пользователь может скопировать ключ хоста, нажав кнопку «Копировать ключ».
Ключ хоста будет скопирован в буфер обмена, и мы сможем использовать этот ключ для загрузки файлов из SFTP или SCP.
Также существует опция, позволяющая пользователю запретить использование ключа хоста.
Я хочу программно запретить использование ключа хоста.
Сообщите мне, если потребуется дополнительная информация.