使用ftp控件下载一个目录

delphi中的nmftp控件中Download函数只能下载一个文件,没有提供一个下载整个目录(包含子目录)的函数。
我编写了个实现目录下载功能的方法,需要用到该功能的用户可参考一下。
//目录下载
function tftp.ex_download(remote_dir,local_dir:string):boolean;
var
    i,j,count1:integer;
    att,ss:string;
    current_dir:string;
    temp_dir:string;
begin
    try begin
        NMFTP1.ChangeDir(remote_dir);
        current_dir:=remote_dir;
        temp_dir:=copy(current_dir,2,length(current_dir));
        if not DirectoryExists(local_dir) then CreateDir(local_dir);
        if not directoryexists(local_dir+temp_dir) then createdir(local_dir+temp_dir);
        nmftp1.ParseList:=true;
        NMftp1.list;
        count1:=nmftp1.FTPDirectoryList.name.Count;
        for i:=0 to count1-1  do begin
            //必须
            NMFTP1.ChangeDir(current_dir);
            nmftp1.list;
            ss:=nmftp1.FTPDirectoryList.name.Strings[i];
            att:=nmftp1.FTPDirectoryList.Attribute.Strings[i];
            if (copy(pchar(att),1,1)<>'d')and(copy(pchar(att),1,1)<>'D') then begin
                if not DirectoryExists(local_dir) then CreateDir(local_dir);
                NMFTP1.Download(current_dir+ss,local_dir+temp_dir+ss);
            end
            else begin
                if not directoryexists(local_dir+temp_dir+ss) then createdir(local_dir+temp_dir+ss);
                //递归调用
                ex_download(remote_dir+ss+'/',local_dir);
            end;
        end;
           result:=true;
    end
    except
    On E:Exception do begin
        result:=false;
    end;
    end;
end;

http://www.softcows.com/cn

产品博客:http://www.cnblogs.com/xproer/ 官方网站:http://www.ncmem.com/ 产品首页:http://www.ncmem.com/webplug/file-uploader/index.aspx 在线演示:http://www.ncmem.com/products/file-uploader/demo/index.html 开发文档:V1.0,V2.0 升级日志:V1.0,V2.0 下载地址:V1.0,V2.0 文档下载:V1.0,V2.0 联系信箱:1085617561@qq.com 联系QQ:1085617561 新颖网络FTP文件上传控件一个专门针对大文件传输而制定的解决方案。它能够帮助开发者实现文件断点续传和文件批量上传功能。特别适合有大文件上传需求的站点,例如视频文件上传,大型资源分享网站,网盘网站。与传统的Flash和HTTP上传控件相比新颖网络FTP文件上传控件更稳定,扩展性更强,而且整合也更加简单。通过新颖网络开发团队提供的JavaScript SDK,开发者可以轻而易举的将插件无缝的集成到现有系统中。 借助于此解决方案,开发者能够为用户带来更好的用户体验。 产品特点如下: 1.支持文件断点续传 2.基于标准FTP协议。 3.支持文件批量上传。 4.支持文件拖拽操作。 5.免费提供JavaScript SDK包,方便您将插件快速集成到已有网站中。 6.免费提供VC(MFC)演示程序,方便您将插件快速集成到软件产品中。 支持语言:PHP,JSP,ASP,ASP.NET(C#),ASP.NET(VB),C++,VC,VC.NET,VB,VB.NET,C#,C#.NET,Delphi,C++ Builder 支持平台:Visual Studio 6.0/2002/2003/2005/2008/2010,C++ Builder 6.0/2009/2010,Delphi 7/2009,Visual Basic 6.0/2008 支持脚本:JavaScript,VBScript 支持系统:Windows NT,Windows 2003,Windows XP,Windows Vista,Windows 7,Linux 支持FTP:Serv-U,Microsoft FTP Server,FileZilla Server 支持文件大小:100GB 支持文件类型:任意类型

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页
评论

打赏作者

aton

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值