我正在使用从 FTP 服务器IdFTP下载.exe或.zip文件。该文件已下载并从 FTP 传送到我的计算机,问题是在传输过程中文件.exe 已损坏,我无法在我的计算机中打开它。
这是代码。
IdFTP1.Connect;
IdFTP1.Get(EdtRemoteFile.Text,EdtDirectory.Text + '\' + EdtRemoteFile.Text, True, true);
Run Code Online (Sandbox Code Playgroud)
默认情况下,FTP 协议以 ASCII(文本)模式运行。在这种模式下,换行符在传输过程中被标准化,这会损坏二进制文件(并且也可能损坏非 ASCII 文本文件,例如 UTF-8)。因此,在传输非文本文件时,您需要切换到 IMAGE(二进制)模式,例如:
uses
..., IdFTPCommon;
IdFTP1.Connect;
IdFTP1.TransferType := ftBinary; // <-- ADD THIS
IdFTP1.Get(EdtRemoteFile.Text,EdtDirectory.Text + '\' + EdtRemoteFile.Text, True, true);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
368 次 |
| 最近记录: |