Лучше всего включить собственный код для решения вашей проблемы. Но, чтобы загрузить мой файл, я заархивирую файл или папку на сервере, а затем получу следующий код в клиенте:
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.