我使用了this codes,但有时会收到““ xxx.xxx”无法理解“的错误消息。它不会下载,并且比我要的是“无法建立数据连接:连接超时”消息。
我的连接超时设置为240000。
我该怎么办?你能帮我吗?我正在使用Delphi XE。
祝你有美好的一天。
最好包含您自己的代码来解决您的问题。但是,要下载我的文件,我将文件或文件夹压缩到服务器上,然后在客户端中收到以下代码:
var
STListZip: TStringList;
SZipDown: String;
fFtp:TIdFTP;
begin
fFtp := TIdFTP.Create(nil);
fFtp.Passive := true;
fFtp.Host := 'myserver.com';
fFtp.Username := 'u1';
fFtp.Password := '1';
fFtp.port:='21';
fFtp.ConnectTimeout := 20000;
fFtp.TransferTimeout := 20000;
try
fFtp.Connect;
fFtp.ChangeDir('');
except
on E: Exception do
begin
ShowMessage('ERROR ftp not connect');
Exit;
end;
end;
if fFtp.Connected then
begin
STListZip := TStringList.Create;
fFtp.List(STListZip, 'abc.zip', false);
if STListZip.Count < 1 then
begin
ShowMessage('ERROR file not exist');
Exit;
end;
STListZip.Sort;
SZipDown := STListZip[STListZip.Count - 1];
try
fftp.BeginWork(wmRead);
fftp.Get(SZipDown, 'd:\', true, fftp.ResumeSupported);
fftp.Disconnect();
fftp.EndWork(wmRead);
except
on E: Exception do
begin
ShowMessage('ERROR File not download');
Exit;
end;
end;
end;
end;
注意:您可以将abc.zip
代替*.zip
以获取所有zip文件名。