У меня простая проблема. Мое приложение (Delphi 2007 с Indy 9) подключается к FTP-серверу для получения списка файлов. (NLST, а не LIST) Затем я загружаю каждый файл отдельно для дальнейшей обработки.
К сожалению, администраторы FTP-сайта добавили подпапку в папку, где находятся файлы. Текущий код считает, что это файл, поэтому он пытается загрузить его. Это терпит неудачу, конечно. Прямо сейчас я решил эту проблему, проверив, успешно ли завершился процесс, и если нет, он добавит сообщение в журнал ошибок, но также продолжит обработку других файлов.
Но я хотел бы добавить код, который сначала проверит, является ли имя в списке файлов именем файла или именем. Какой самый простой способ сделать это?
Примечание : я не могу полагаться на метод LIST для возврата списка файлов с дополнительными атрибутами, поскольку я подключаюсь к нескольким FTP-серверам, которые могут определять свой собственный формат файла. Кроме того, парсинг такого списка не очень простая задача, даже если бы я мог определить, какой тип списка возвращает FTP-сервер. Что еще хуже, некоторые имена файлов являются просто числами без расширения, поэтому подстановочные знаки тоже не помогают.