string host = @"ftphost";
string username = "user";
string password = "********";
string localFileName = System.IO.Path.GetFileName(@"localfilename");
string remoteDirectory = "/export/";
using (var sftp = new SftpClient(host, username, password))
{
sftp.Connect();
var files = sftp.ListDirectory(remoteDirectory);
foreach (var file in files)
{
if (!file.Name.StartsWith("."))
{
string remoteFileName = file.Name;
if (file.LastWriteTime.Date == DateTime.Today)
Console.WriteLine(file.FullName);
File.OpenWrite(localFileName);
string sDir = @"localpath";
Stream file1 = File.OpenRead(remoteDirectory + file.Name);
sftp.DownloadFile(remoteDirectory, file1);
}
}
}
我正在使用SSH.NET(Renci.SshNet
)庫與SFTP服務器一起工作。我需要做的是根據今天的日期從SFTP服務器上的特定文件夾獲取文件。然後將這些文件從SFTP服務器複製到我的服務器的本地驅動器。使用SSH.NET庫從SFTP下載文件
以上是我有的代碼,但它不工作。有時候它說文件不存在,但有時我將下載的文件不會在我的本地服務器上,但我需要下載當天上傳到遠程文件夾的任何文件。
有人可以看看有什麼不對嗎?我相信這與流媒體部分有關。除了上傳文件外,我還使用過很多FTP,我使用了之前的一些代碼,並認爲我可以將該過程逆轉,但這不起作用。我使用的代碼是基於這個example。
在我的情況下,代碼僅在連接時停止。它說'沒有找到合適的身份驗證方法進行身份驗證。「# – Chirag