Delphi - Indy TIdFTP控件实现文件的上传和下载

FTP信息保存和获取

我们在做FTP相关开发时,为方便后续FTP切换,一般先把FTP账户信息保存到数据库表中,在使用时再通过Query获取出来。

一般通过如下方式获取到FTP相关信息,代码如下:

 1   //获取FTP信息
 2   with qTmp do
 3   begin
 4     Close;
 5     SQL.Clear;
 6     SQL.Text := 'SELECT * FROM SYS_FTP_INFO WHERE NAME = ''Test'' ';
 7     Open;
 8     SYS_FTPUSER := FieldByName('USERNAME').AsString;
 9     SYS_FTPPASSWORD := FieldByName('PASSWORD').AsString;
10     SYS_FTPSERVER := FieldByName('IP').AsString;
11     SYS_FTPDIR := FieldByName('PATH').AsString;
12   end;

 

idFTP文件下载

下载这里主要用到Get函数,三个参数:

Param1:文件名称(包含后缀名)

Param2:想要保存的路径(最终文件保存位置的全路径)

Param3:Ture/False 是否断点续传

一般操作代码如下:

 1   try
 2     MsgDsp('开始获取文件,请稍等!');
 3     with idFTP do
 4     begin
 5       if Connected then Disconnect;
 6       Username := SYS_FTPUSER;
 7       Password := SYS_FTPPASSWORD;
 8       Host := SYS_FTPSERVER;
 9       Port := 21;
10       Connect;
11       ChangeDir(SYS_FTPDIR);
12       Get(FILENAME, 'C:\tmp\' + FILENAME, True);
13       if Connected then Disconnect;
14     end;
15     MsgDsp('Recipe文件获取成功!')
16   except
17     on E: Exception do
18     begin
19       MsgDsp('文件获取失败,请联系IT处理!错误信息:' + E.Message);
20       Abort;
21     end;
22   end;

 

idFTP 文件上传

上传这里主要用到Put函数,两个参数:

Param1:需要上传文件的全路径

Param2:文件名称(包含后缀名)

 

一般操作代码如下:

 1   try
 2     MsgDsp('开始上传文件,请稍等!');
 3     with idFTP do
 4     begin
 5       if Connected then Disconnect;
 6       Username := SYS_CLIENTFTPUSER;
 7       Password := SYS_CLIENTFTPPASSWORD;
 8       Host := SYS_CLIENTTPSERVER;
 9       Port := SYS_PORT;
10       Connect;
11       ChangeDir(SYS_CLIENTFTPDIR);
12       Put('C:\tmp\' + FILENAME, ExtractFileName(FILENAME));13       if Connected then Disconnect;
14     end;
15     MsgDsp('文件上传成功!');
16
except 17 on E: Exception do 18 begin
19
MsgDsp('文件上传失败,请联系IT确认!错误信息:' + E.Message); 20 Abort; 21 end; 22 end;

 

转载于:https://www.cnblogs.com/jeremywucnblog/p/11427595.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值