网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 论文素材 设计下载 最新论文 下载排行 论文上传 在线投稿 联系我们
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > DELPHI > 正文
利用Indy的TIdFtp控件实现FTP协议
来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/12
下载{$ArticleTitle}原创论文样式
;  在下载之前,必须查看DirectoryListing.Items[sCurrFile].ItemType是否为文件,如返回为ditDirectory则代表当前文件名为目录,不能下载,必须导向到文件才可。如为文件,则可以进行下载。在下载前,设定传输的类型为二进制文件,并且指定本地要保存的路径。通过调用Get方法,实现文件的下载。下载过程较慢,可以考虑将其放到线程中实现。

过程说明:

procedure Get(const ASourceFile: string; ADest: TStream; AResume: Boolean); overload;

procedure Get(const ASourceFile: string; const ADestFile: string; const ACanOverwrite: boolean; AResume: Boolean); overload;

从远程服务器上获取文件。

属性说明:

const ASourceFile: string

远程服务器上的源文件名

const ADestFile: string

保存到客户机上的文件名

const ACanOverwrite: boolean = false

重写同名文件

AResume: Boolean = false

是否进行断点续传

 

示例代码:

      SaveDialog1.FileName := Name;

      if SaveDialog1.Execute then begin

        SetFunctionButtons(false);

 

        IdFTP1.TransferType := ftBinary;

        BytesToTransfer := IdFTP1.Size(Name);

 

        if FileExists(Name) then begin

          case MessageDlg(´File aready exists. Do you want to resume the download operation?´,

            mtConfirmation, mbYesNoCancel, 0) of

            mrYes: begin

              BytesToTransfer := BytesToTransfer - FileSizeByName(Name);

              IdFTP1.Get(Name, SaveDialog1.FileName, false, true);

            end;

            mrNo: begin

              IdFTP1.Get(Name, SaveDialog1.FileName, true);

            end;

            mrCancel: begin

              exit;

            end;

          end;

        end

        else begin

          IdFTP1.Get(Name, SaveDialog1.FileName, false);

        end;

 

(6)上传的实现

    上传的实现与下载类似,通过put方法即可。

过程说明:

procedure Put(const ASource: TStream; const ADestFile: string; const AAppend: boolean); overload;

procedure Put(const ASourceFile: string; const ADestFile: string; const AAppend: boolean); overload;

上传文件至服务器

属性说明

网学推荐

免费论文

原创论文

浏览:
设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
湘ICP备09003080号