Delphi - Indy TIdFTP控件实现文件的上传和下载
2024-09-01 07:28:30
FTP信息保存和获取
我们在做FTP相关开发时,为方便后续FTP切换,一般先把FTP账户信息保存到数据库表中,在使用时再通过Query获取出来。
一般通过如下方式获取到FTP相关信息,代码如下:
//获取FTP信息
with qTmp do
begin
Close;
SQL.Clear;
SQL.Text := 'SELECT * FROM SYS_FTP_INFO WHERE NAME = ''Test'' ';
Open;
SYS_FTPUSER := FieldByName('USERNAME').AsString;
SYS_FTPPASSWORD := FieldByName('PASSWORD').AsString;
SYS_FTPSERVER := FieldByName('IP').AsString;
SYS_FTPDIR := FieldByName('PATH').AsString;
end;
idFTP文件下载
下载这里主要用到Get函数,三个参数:
Param1:文件名称(包含后缀名)
Param2:想要保存的路径(最终文件保存位置的全路径)
Param3:Ture/False 是否断点续传
一般操作代码如下:
try
MsgDsp('开始获取文件,请稍等!');
with idFTP do
begin
if Connected then Disconnect;
Username := SYS_FTPUSER;
Password := SYS_FTPPASSWORD;
Host := SYS_FTPSERVER;
Port := ;
Connect;
ChangeDir(SYS_FTPDIR);
Get(FILENAME, 'C:\tmp\' + FILENAME, True);
if Connected then Disconnect;
end;
MsgDsp('Recipe文件获取成功!')
except
on E: Exception do
begin
MsgDsp('文件获取失败,请联系IT处理!错误信息:' + E.Message);
Abort;
end;
end;
idFTP 文件上传
上传这里主要用到Put函数,两个参数:
Param1:需要上传文件的全路径
Param2:文件名称(包含后缀名)
一般操作代码如下:
try
MsgDsp('开始上传文件,请稍等!');
with idFTP do
begin
if Connected then Disconnect;
Username := SYS_CLIENTFTPUSER;
Password := SYS_CLIENTFTPPASSWORD;
Host := SYS_CLIENTTPSERVER;
Port := SYS_PORT;
Connect;
ChangeDir(SYS_CLIENTFTPDIR);
Put('C:\tmp\' + FILENAME, ExtractFileName(FILENAME)); if Connected then Disconnect;
end;
MsgDsp('文件上传成功!');
16 except
on E: Exception do
begin
19 MsgDsp('文件上传失败,请联系IT确认!错误信息:' + E.Message);
Abort;
end;
end;
作者:Jeremy.Wu
出处:https://www.cnblogs.com/jeremywucnblog/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
最新文章
- z-index--记录七
- 如何配置多个ssh key
- iOS开发——高级技术&;iCloud服务
- servlet设置缓存时间以及文件的下载
- asp.net解决数据转换为DBNULL的问题
- C++11角括号
- ResourceBundle和Properties(转载)
- Overloads和Overrides在元属性继承上的特性
- Swift-Dictionary
- js 的try catch
- 安全运维之:Linux系统账户和登录安全(转)
- android的签名
- JS 函数作用域及变量提升那些事!
- Axios发送AJAX请求
- SpringBoot进阶教程(二十三)Linux部署Quartz
- 使用 Canal 实现数据异构
- JS_高程2.在HTML中使用Javascript(1)
- python笔记-正则表达式常用函数
- C++ static 静态变量&;静态成员函数
- 【BZOJ】4349: 最小树形图