Delphi客户端通过FTP服务器上传或下载文件或图片方法_ftp服务器客户端程序

其他范文 时间:2020-02-27 09:09:50 收藏本文下载本文
【www.daodoc.com - 其他范文】

Delphi客户端通过FTP服务器上传或下载文件或图片方法由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“ftp服务器客户端程序”。

Delphi客户端通过FTP服务器上传或下载文件或图片方法

首先在服务器端建立FTP服务器,网上有这种类型的软件,安装好后,在客户端建立服务器连接,然后再上传或下载文件或图片。

一、服务器连接

procedure TForm1.ConnectButtonClick(Sender: TObject);begin if not IdFTP1.Connected then //如果与服务器断开连接

begin

try

IdFTP1.Username:=UserIDEdit.Text;

IdFTP1.Paword:=PawordEdit.Text;

IdFTP1.Host:=FtpServerEdit.Text;

IdFTP1.Connect;//Connect;

Except //异常处理

Application.MeageBox('服务器连接失败!','智博软件');

end;

ConnectButton.Enabled:=true;

if IdFTP1.Connected then

begin

ConnectButton.Caption:='断开';

DebugListBox.Items.Add('主机名为:'+IdFTP1.Host);

DebugListBox.Items.Add('连接成功');

ConnectButton.Default:=false;

end;

end

else

try

IdFTP1.Quit;//关闭客户端与服务器端的连接

finally

ConnectButton.Caption:='连接';

DebugListBox.Items.Add('连接失败');

ConnectButton.Enabled:=true;

ConnectButton.Default:=true;

end;

end;

二、文件或图片上传

Procedure TFrmMain.UploadFileCleck(Sender:TObject);

var

FileName : string;

Item : TListItem;

SendFileItem : TListItem;

begin

if not FTPClient.Connected then

exit;

if ListViewLocalFile.Selected =nil then

exit;

Item :=ListViewLocalFile.Selected;

ListViewSendFile.Clear;

//处理所有选中文件

while Item nil do

begin

SendFileItem := ListViewSendFile.Items.Add;

SendFileItem.Caption := Item.Caption;

//文件名

SendFileItem.SubItems.Add(Item.SubItems[1]);//文件大小

SendFileItem.SubItems.Add(LocaLPath);

//本地路径

SendFileItem.SubItems.Add('==>');

//图示

SendFileItem.SubItems.Add(RemotePath);//远程路径

SendFileItem.SubItems.Add('');

//状态

//下一个选中的项目

Item:=ListViewLocalFile.GetNextItem(Item,sdAll,[isSelected]);

end;

ListViewSendFile.Refresh;

//刷新传送文件列表

//传送文件

ListViewLocalFile.Enabled :=false;

DriveComboBox1.Enabled:=false;

ListViewRemoteFile.Enabled:=False;

IsTransFerring:=True;

try

//处理所有要传送的文件

while ListViewSendFile.Items.Count>0 do

begin

FileName:=ListViewSendFile.Item[0].Caption;

//文件名

ListViewSendFile.Item[0].SubItems[4]:='正在上传...';

FTPClient.Put(LocalPath+''+FileName);

//上传

DisplayRemoteFileList();

ListViewSendFile.items[0].Delect;

//传送完毕,删除待传送文件列表

ListViewSendFile.Refresh;

end;

//设置相关控件是否可用

ListViewLocalFile.Enabled:=True;

DriveComboBox1.Enabled:=True;

ListVieewRemoteFile.Enabled:=True;

IsTransferring:=False;

except

ListViewSendFile.Items[0].SubItems[4]:='上传错误!';

MeageDlg('上传文件发生错误!',mtError,[mbyes],0);

//设置相关控件是否可用

ListViewLocalFile.Enabled:=True;

DriveCombBox1.Enabled:=True;

ListViewRemoteFile.Enabled:=True;

IsTransferring:=False;

//没有传送状态

end;

end;

三、文件或图片下载

procedure TFrmMain.DownloadFileClick(Sender:TObject);

var

FileName :String;

Item ,SendFileItem : TListItem;

begin

if not FTPClient.Connected Then

//没有连接到服务器,退出

exit;

if ListViewRemoteFile.Selected;

//得到选中的文件

ListViewSendFile.Clear;

//清空要传送的文件列表

//处理所有选中的文件

While Item nil do

begin

SendFileItem :=ListViewSendFile.Items.Add;

//增加到列表

//列表项赋值

SendFileItem.Caption := Item.Caption;//文件名

SendFileItem.SubItems.Add(Item.SubItems[1]);//文件大小

SendFileItem.SubItems.Add(LocaLPath);

//本地路径

SendFileItem.SubItems.Add('

//图示

SendFileItem.SubItems.Add(RemotePath);

//远程路径

SendFileItem.SubItems.Add('');

//下一个选中的项目

Item:=ListViewRemoteFile.GetNextItem(Item,sdAll,[isSelected]);

end;

ListViewSendFile.Refresh;

//刷新传送文件列表

//传送文件

ListViewRemoteFile.Enabled:=false;

//禁止操作相关控件

IsTransferring:=True;

//设置正在传送

try

//处理所有要传送的文件

while ListViewSendFile.Items.Count >0 do

begin

FileName := ListViewSendFile.Items[0].Caption;

//文件名

ListViewSendFile.Items[0].SubItems[4]:='正在下载...';

ListViewSendFile.Refresh;

//刷新传送文件列表

if FileExists(FileName)then //判断文件是否存在begin

if MeageDlg('文件己存在,继续下载吗?',mtConfirmation,[mbYes,mbNo],0)=mrYes then

FTPClient.Get(FileName,LocalPath+''+FileName,false,true)

//续传

else

FTPClient.Get(FileName,LocalPath+''+FileName,true,False);//覆盖

end

else

FTPClient.Get(FileName,LocalPath+''+FileName,false);

//下载

ListViewSendFile.items[0].Delect;

//传送完毕,删除待传送文件列表

ListViewSendFile.Refresh;

//刷新待传送列表

DisplayLocalFileList();

//刷新本地文件列表

end;

ListViewRemoteFile.Enabled:=true;

IsTransferring:=False;

//没有传送状态

except

ListViewSendFile.Items[0].SubItems[4]:='下载错误';

ListViewSendFile.Refresh;

//刷新待传送文件列表

MeageDlg('下载文件发生错误!',mtError,[nbYes],0);

ListViewRemoteFile.Enabled:=True;

IsTransferring:=False;

//没有传送状态

end;

end;以上代码在Delphi7中调试通过。

下载Delphi客户端通过FTP服务器上传或下载文件或图片方法word格式文档
下载Delphi客户端通过FTP服务器上传或下载文件或图片方法.doc
将本文档下载到自己电脑,方便修改和收藏。
点此处下载文档

文档为doc格式

    热门文章
      整站推荐
        点击下载本文