Пояснение:
Я загружаю файлы с FTP (требуется разрешение на чтение) с той же структурой папок.
Таким образом, каждый раз, когда выполняется задание, я могу проверить физический путь, один и тот же файл (полный путь) существует
Если его не существует, его можно рассматривать как новый файл.
И я могу сделать то же самое и скачать тоже.
Это просто альтернативное решение.
Изменения кода:
private static void GetFiles()
{
using (FtpClient conn = new FtpClient())
{
string ftpPath = "ftp://myftp/";
string downloadFileName = @"C:\temp\FTPTest\";
downloadFileName += "\\";
conn.Host = ftpPath;
//conn.Credentials = new NetworkCredential("ftptest", "ftptest");
conn.Connect();
//Get all directories
foreach (FtpListItem item in conn.GetListing(conn.GetWorkingDirectory(),
FtpListOption.Modify | FtpListOption.Recursive))
{
// if this is a file
if (item.Type == FtpFileSystemObjectType.File)
{
string localFilePath = downloadFileName + item.FullName;
//Only newly created files will be downloaded.
if (!File.Exists(localFilePath))
{
conn.DownloadFile(localFilePath, item.FullName);
//Do any action here.
Console.WriteLine(item.FullName);
}
}
}
}
}