如何判断FTP服务器上是否存在某个目录?(23分)

  • 主题发起人 主题发起人 jack011
  • 开始时间 开始时间
J

jack011

Unregistered / Unconfirmed
GUEST, unregistred user!
我在客户端FTP上传文件,当服务器中没有某个目录时,需要创建,有的直接传文件
.
try
FTPsong.ChangeDir(目录);
except
.....
end;
这样处理好象不好,有没有其他好办法检查服务器是否存在这个目录呢?
 
我也要问这个类似得问题,得到FTP得文件夹
 
if FTPsong.DirExists('目录') then
 
if FTPsong.DirExists('filepathename') then
showmessage('文件已经存在')
 
各位老大,我的咋没有 FTPsong.DirExists() 这个方法呢?
是不是要在idFTP哪里设置一下什么啊?
 
获取当前目录下的全部文件夹列表,然后判断,下面的程序我用过,没有问题
代码:
         //检查用户操作记录目录
          ResultList.Clear;
          IDFTP.List(ResultList, '', false);

          if ResultList.IndexOf('DFW') = -1 then   
          //如果不存在用户操作记录目录则创建之
            IDFTP.MakeDir('DFW');
 
还是不行啊
 
刚刚查了一下,的确没有DirExists方法,不过有个ExtListDir方法,传两个参数,第一个参数是TStrings,获取列表,第二个参数是指定目录,例如
var
Dirs: TStringList;
begin
Dirs := TStringList.Create;
try
IdFTP1.ExtListDir(Dirs, ''); //根目录下列出所有子目录
ShowMessage(Dirs.Text);
finally
Dirs.Free;
end;
end;
 
没法,最后还是老方法:

try
FtpSong.ChangeDir(FtpDir);
except
try
FtpSong.MakeDir(FtpDir);
Sleep(100);
FtpSong.ChangeDir(FtpDir);
except
Application.MessageBox(Pchar(FtpDir+ '目录不能创建'), '提示', MB_OK +
MB_ICONINFORMATION);
exit;
end;
end;

虽然能达到目的,但是这个方法不好啊!
谢谢各位的帮忙!
 
后退
顶部