使用Indy9.0版本 IdFtp1.Get(FRemoteStr,FLocalStr,True);下载小文件没事,
超过10M的文件都下不下来,程序假死
用DELPHI里的DEMO试过也是同样的情况
开始以为是服务器不稳定,用FileZilla试过,FTP服务器没问题
超过10M的文件都下不下来,程序假死
用DELPHI里的DEMO试过也是同样的情况
开始以为是服务器不稳定,用FileZilla试过,FTP服务器没问题
显示进度是个办法
可以在onwork或onstatus中写
IdFtp1.Host:=127.0.0.1';
IdFtp1.UserName:='FTP';
IdFtp1.Password:='123456';
IdFtp1.Port:=21;
IdFtp1.Connect(True);
Count:=IdFtp1.Size('\Temp\Temp.exe');
Counter:=Round(Count/1024000)+1;
Counter1:=0;
while Counter1<=Counter do
begin
if not IdFtp1.Connected then IdFtp1.Connect(True);
IdFtp1.SendCmd('Reset '+IntToStr(Counter1*1024000));
IdFtp1.Get('\Temp\Temp.exe','D:\Temp.exe'+IntToStr(Counter1),true);
Counter1:=Counter1;
Memo1.Lines.Add('--------------------------'+IntToStr(Counter1) );
Application.ProcessMessages;
sleep(1000);
end;
IdFtp1.Abort;不知道这样分是不是正确的,但问题同样是存在的,我的temp.exe大约是22M多,拆分成23个文件下载,但是还是只能下载10-15个左右,然后就一直死在IdFtp1.Get('\Temp\Temp.exe','D:\Temp.exe'+IntToStr(Counter1),true); 这里