Есть ли папка на сервере?

Рейтинг: 0Ответов: 1Опубликовано: 19.12.2014

Всем привет!

Стоит задача: загрузить папку на сервер FTP. В папке могут быть как файлы, так и вложенные папки с неограниченным вхождением. Работаю в Delphi XE7 + Indy.

Планирую сразу проверять, все ли папки есть на сервере, необходимые для загрузки файла, если отсутствуют, то создать папку. Например, нужно загрузить файл в папку /dir0/dir1/file.txt.
Я сразу проверю наличие папки dir0 - если нет, то создаю и иду далее, пока не доберусь до конца.

Для проверки, есть ли папка на сервере, использую следующий код:

function TFTP_As.FtpPathExist(Path: String): boolean;
begin
  Result := false;
  try
    fftp.MakeDir(Path);
  except
    Result := true;
  end;
end;

В принципе она работает, но уж очень утомляют Exception"ы во время отладки приложения. Есть ли другие способы проверки существования папки на сервере, более правильные?

Спасибо.

Ответы

▲ 2Принят

Не логичнее было бы получить с сервера список файлов/папок в текущем расположении и проверить по полученному списку, есть ли нужная папка? Если окажется, что у вас нет прав на создание папки в текущем расположении, то ваш код будет считать, что папка уже есть, хотя ее может и не быть.