2024年4月19日发(作者:)
Delphi客户端通过FTP服务器上传或下载文件或图片方法
首先在服务器端建立FTP服务器,网上有这种类型的软件,安装好后,在客户端建立
服务器连接,然后再上传或下载文件或图片。
一、服务器连接
procedure tButtonClick(Sender: TObject);
begin
if not ted then //如果与服务器断开连接
begin
try
me:=;
rd:=;
:=;
t; //Connect;
Except //异常处理
eBox('服务器连接失败!','智博软件');
end;
d:=true;
if ted then
begin
n:='断开';
('主机名为:'+);
('连接成功');
t:=false;
end;
end
else
try
; //关闭客户端与服务器端的连接
finally
n:='连接';
('连接失败');
d:=true;
t:=true;
end;
end;
二、文件或图片上传
Procedure FileCleck(Sender:TObject);
var
FileName : string;
Item : TListItem;
SendFileItem : TListItem;
begin
if not ted then
exit;
if ed =nil then
exit;
Item :=ed;
;
//处理所有选中文件
while Item <>nil do
begin
SendFileItem := ;
n := n; //文件名
(ms[1]); //文件大小
(LocaLPath); //本地路径
('==>'); //图示
(RemotePath); //远程路径
(''); //状态
//下一个选中的项目
Item:=tItem(Item,sdAll,[isSelected]);
end;
h; //刷新传送文件列表
//传送文件
d :=false;
d:=false;
d:=False;
IsTransFerring:=True;
try
//处理所有要传送的文件
while >0 do
begin
FileName:=[0].Caption; //文件名
[0].SubItems[4]:='正在上传...';
(LocalPath+''+FileName); //上传
DisplayRemoteFileList();
[0].Delect; //传送完毕,删除待传送文件
列表
h;
end;
//设置相关控件是否可用
d:=True;
d:=True;
d:=True;
IsTransferring:=False;
except
[0].SubItems[4]:='上传错误!';
MessageDlg('上传文件发生错误!',mtError,[mbyes],0);
//设置相关控件是否可用
d:=True;
d:=True;
d:=True;
IsTransferring:=False; //没有传送状态
end;
end;
三、文件或图片下载
procedure adFileClick(Sender:TObject);
var
FileName :String;
Item ,SendFileItem : TListItem;
begin
if not ted Then //没有连接到服务器,退出
exit;
if ed; //得到选中的文件
; //清空要传送的文件列表
//处理所有选中的文件
While Item <> nil do
begin
SendFileItem :=; //增加到列表
//列表项赋值
n := n; //文件名
(ms[1]); //文件大小
(LocaLPath); //本地路径
('<=='); //图示
(RemotePath); //远程路径
('');
//下一个选中的项目
Item:=tItem(Item,sdAll,[isSelected]);
end;
h; //刷新传送文件列表
//传送文件
d:=false; //禁止操作相关控件
IsTransferring:=True; //设置正在传送
try
//处理所有要传送的文件
while >0 do
begin
FileName := [0].Caption; //文件名
[0].SubItems[4]:='正在下载...';
h; //刷新传送文件列表
if FileExists(FileName) then //判断文件是否存在
begin
if MessageDlg('文件己存在,继续下载吗?',
mtConfirmation,[mbYes,mbNo],0)=mrYes then
(FileName,LocalPath+''+FileName,false,true)
//续传
//覆盖
下载
表
else
(FileName,LocalPath+''+FileName,true,False);
end
else
(FileName,LocalPath+''+FileName,false); //
[0].Delect; //传送完毕,删除待传送文件列
h; //刷新待传送列表
DisplayLocalFileList(); //刷新本地文件列表
end;
d:=true;
IsTransferring:=False; //没有传送状态
except
[0].SubItems[4]:='下载错误';
h; //刷新待传送文件列表
MessageDlg('下载文件发生错误!',mtError,[nbYes],0);
d:=True;
IsTransferring:=False; //没有传送状态
end;
end;
以上代码在Delphi7中调试通过。
发布者:admin,转转请注明出处:http://www.yc00.com/web/1713514395a2264023.html
评论列表(0条)