我嘗試從我們的服務器下載文件的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重新測試這是同樣的問題。必須意味着在服務器端發生了一些變化,我現在會調查一下...... –