2010-12-06 3 views
0

Я создаю программу, которая загружает файлы с разных типов серверов, таких как сетевые пути или HTTP-серверы, на основе критериев. Пока что я работаю на основе регулярного выражения, но мне также хотелось бы найти файлы более новые (последние доступные, измененные или созданные), чем заданная дата. Это легко в сетевом пути, потому что я могу получить доступ к FileInfo для этого файла, но все, что у меня есть на моем FTP-сервере, это строка «строка», которая, очевидно, просто содержит имя файла.Получение информации о файлах (даты доступа/изменения) с FTP-сервера (C#)

Легко ли получить доступ к последним измененным/добавленным датам создания файла на FTP-сервере в C#?

ответ

0

К сожалению, FTP предоставляет только ограниченную информацию о удаленном файле. С помощью команды LIST по умолчанию вы получаете специфичный для ОС ответ, где обычно присутствует одна дата (обычно это время последней модификации). С командами расширения MLST/MLSD вы получаете ответную строку с машинным анализом, но также с одним разом.

Точный способ получения даты зависит от того, какой компонент или класс вы используете для доступа к FTP-серверу.

Если вам нужно получить более одной даты (например, дату создания и последний доступ), и вы можете перейти на SFTP-маршрут, я бы рекомендовал вместо этого использовать SFTP.

+0

Спасибо, я использую метод System.Net.Mail и нашел способ прочитать * a * timestamp, которого будет достаточно. Для кого-либо это просто метод getdatetimestamp веб-запроса ftp. – Chris 2010-12-06 10:29:17

-1

Вы можете использовать стороннюю библиотеку, такую ​​как edtFTP, для подключения к FTP-серверу и проверки последних измененных/созданных (не уверены, можно ли получить временную метку последнего доступа). Его довольно простая библиотека, которую можно использовать: