【问题标题】:TIdFTP corrupted file after upload上传后 TIdFTP 文件损坏
【发布时间】:2018-10-18 12:45:49
【问题描述】:

最近,我们将托管我们域的公司从 Windows 更改为 Linux 托管。从那时起,我使用 TIdFTP 上传的任何文件都没有错误地上传,但是当我尝试下载此文件时,该文件已损坏。例如,我上传了一个 ZIP 文件,当我尝试下载时,我无法展开 ZIP。

如果我使用常规的 FTP 客户端,例如 Filezilla,则不会发生该错误。

我可以在 TIdFTP 中尝试任何配置来避免这个问题吗?

我的代码没有改变如下:

    ftp.host := 'ftp.myhost.com';
    ftp.Username := 'myusername';
    ftp.password := 'mypassword';
    ftp.Connect();
    ftp.ChangeDir('public_html/downloads');
    ftp.Put('c:\myfile.zip','myfile.zip');

谢谢

【问题讨论】:

  • IdFTP 组件中的TransferType 属性值是什么?传输档案应该是ftBinary
  • @Miamy 这解决了问题!请张贴作为答案,我会接受。谢谢!

标签: delphi ftp indy indy10


【解决方案1】:

IdFTP 组件的TransferType 属性值应为ftBinary 用于传输档案。

【讨论】:

  • TIdFTP.TransferType 属性默认设置为ftAscii,这会导致跨平台传输文件时更改换行符。在传输非文本文件(例如 Zip 档案)时,或者如果您不想更改换行符,则需要将 TransferType 设置为 ftBinary
猜你喜欢
  • 2017-08-29
  • 1970-01-01
  • 2020-09-27
  • 2018-07-12
  • 2017-04-21
  • 2023-03-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多