用idftp控件查询ftp服务器文件目录是否存在

该博客介绍了一个Delphi函数,用于利用idftp控件检查FTP服务器上指定目录是否存在。通过连接到FTP服务器,获取目录列表,并遍历列表来判断目标目录是否为文件夹类型。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

判断文件目录名称是否存在

function TUPfileFRM.FtpDirectoryExists(ADir: string): Boolean;
var
  index:Integer;
begin
  Index:=0;
     Result := false;
     try
     if Assigned(dllUPfileFRM.IdFtp1.DirectoryListing) and (dllUPfileFRM.IdFtp1.DirectoryListing.Count>0) then
       while Index<dllUPfileFRM.IdFtp1.DirectoryListing.Count do
       begin
       with dllUPfileFRM.IdFtp1.DirectoryListing.Items[Index] do
       begin
         if (trim(FileName)=trim(ADir)) and (ItemType = ditDirectory)  then    //// 是文件夹类型 编译不通过时要USES IDFTPLIST
         begin
           Result:=true;
           Exit;
         end;
       end;
       Index:=Index+1;
       end;
     except
     Result := False;
     end;
end;

 

调用判断函数的功能:

function  TUPfileFRM.Dllupfiles(ASourceFile,ADestFile,sAir:string):boolean;

var
  LS: TStringList;
begin
result:=false;
 LS:=TStringList.Create;
  try
    IdFTP1.Host := '192.168.0.1';
    IdFTP1.Username := 'username';
    IdFTP1.Password := 'pass123';
    IdFTP1.TransferType := ftASCII;                            //// 编译不通过时 USES IdFTPCommon
    if IdFTP1.Connected then IdFTP1.Disconnect;
    IdFTP1.Connect();
    IdFTP1.List(LS);
    if (not FtpDirectoryExists(sAir)) then  IdFTP1.MakeDir(sAir);

    try
        IdFTP1.ChangeDirUp;  
        IdFTP1.Put (ASourceFile,ADestFile);
        showmessage('上传文件成功!');
        result:=true;
    except
        showmessage('上传文件失败');
    end;
    finally
      LS.Free;
   end;
end;

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值