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;
作者:Jeremy.Wu
出处:https://www.cnblogs.com/jeremywucnblog/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。