我尝试从我们的服务器下载文件的idFTP Indy组件有问题。它下载99%的文件,然后挂起。 GET语句不返回。最近发生的变化是,我们已经从运行win 8.1的桌面移动到运行win10的笔记本电脑。如果我将进度和完整文件大小写入屏幕,它会很快下载,直到最后,最后一个字节没有完成。我试图下载的文件是15,573,350字节。它达到大约14MB(相当快)并停止。我试过下载另一个文件,这是同样的事情。在Delphi XE6中FTP GET()语句在下载完成后不会返回
任何想法?
这是代码,没有什么奇特的。我从我们的工作应用程序中复制它,尝试并测试它,看看它是否在主项目中。
with IdFTP1 do
begin
Host := 'xxx';
Username := 'xxx';
Password := 'xxx';
passive := True;
Connect;
ChangeDir('Service_Update');
ChangeDir('QA');
Self.Caption := Size('jam.zipper').tostring;
TransferType := ftBinary; //tried with and without
Get('jam.zipper','jam.zipper',true);
Button1.Caption := 'Done'; //never gets here
end;
谢谢雷米。让我感到痒的是服务器没有任何改变。下载功能一直有效 - 直到我在win 10上发现它现在没有了。你认为这可能会有所作为吗? 对于第3点,我确实使用了一个线程。但是,我的实际工作代码与我在此共享的演示程序行为相同。它很快下载一切,然后在最后不做任何事情...... –
好吧,事实证明我错了。我回到赢得8.1重新测试这是同样的问题。必须意味着在服务器端发生了一些变化,我现在会调查一下...... –