当前位置 : 主页 > 编程语言 > delphi >

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

来源:互联网 收集:自由互联 发布时间:2021-06-23
FTP信息保存和获取 我们在做FTP相关开发时,为方便后续FTP切换,一般先把FTP账户信息保存到数据库表中,在使用时再通过Query获取出来。 一般通过如下方式获取到FTP相关信息,代码如下

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;
网友评论