我有一个简单的问题。我使用德尔福 2010。
我的软件中有一个 FTP 客户端。当我使用基于 IIS 的 FTP 时,它可以正常工作。
我上周更换了我的 FTP 服务器。现在我有一个带有 ProFTPD 的 Linux 服务器。
当我使用这个 FTP 服务器时,它可以工作,但它会下载损坏的文件。
我注意到使用函数 idFTP.Size 返回 -1 的调试器。因此,我使用大小编号,当我 idFTP.list 文件时由 Indy FTP 目录解析器返回。使用这种方式,文件以损坏的状态下载。
但是,使用其他 FTP 程序,文件下载正常。
with idFTP1 do
begin
AutoLogin := False;
IPVersion := Id_IPv4;
Passive := True;
TryNATFastTrack := true;
Port := 21;
Host := '192.168.121.221';
Username := 'flxupgrader';
Password := 'avaricia';
Connect;
login;
TransferType := ftBinary;
BeginWork(wmRead);
Get('/_Enterprise/141010.zip',
'E:\Usuarios\Pablo\141010.zip');
EndWork(wmRead);
Disconnect;
end;
当我使用带有 ProFTP FTP 服务器的 Linux 中的 FTP 服务器执行此代码时,我的 ZIP 下载已损坏。您无法从中提取任何内容,“CRC 错误”。
重要提示:使用 Windows 资源管理器访问 FTP 服务器以下载文件:它工作正常。该文件为 24525K。使用我的 Indy 10 程序下载该文件,下载的文件为 24616K,并且已损坏。