【问题标题】:Apple DMG files over FTP are getting corrupted why?为什么通过 FTP 传输的 Apple DMG 文件已损坏?
【发布时间】:2008-11-14 12:39:56
【问题描述】:

我正在尝试 FTP 一些苹果 DMG 文件,如果我们通过 Safari 或 IE 手动进行,它最终会在目的地正常且未损坏。但是,如果我使用一个免费软件 FTP 客户端,我们一直在成功地使用 zip 和 exe,或者如果我使用我完成的 Powershell 脚本(改编自另一个 stackover 流的问题的答案),那么我会丢失大约 1/2 Mb一个 10.5 Mb 的文件,并且 dmg 已损坏。有没有人知道可能出了什么问题?我可以做些什么来防止它?到目前为止,我所尝试的只是在发送之前对 dmg 进行 gzip 压缩,但什么也没做。同样,除了 dmg 之外的任何东西都可以正常传输。

仅供参考,我使用的是二进制模式传输,所以不是这样..thx 虽然

【问题讨论】:

  • 大家都知道。它一定是我使用的客户端与我的 PowerShell 脚本有完全相同的问题。我正在使用 StreamReader 来获取要传输的字节,并且它假设编码不正确。我切换到没有的 BinaryReader,现在它可以工作了。
  • 您应该将此作为答案发布。鼓励在 SO 上回答您自己的问题。

标签: powershell ftp dmg


【解决方案1】:

似乎您的客户将 dmg 文件视为文本文件。 在您的 ftp 客户端中设置二进制传输模式,它将按原样进行 ftp。

我一直认为 ftp 中的 ascii 传输模式很愚蠢。它会带来更多的麻烦,而不是值得。

【讨论】:

    【解决方案2】:

    您确定除 DMG 之外的所有内容都已正确传输吗?这听起来像是传输编码的问题。 FTP 支持二进制和 ASCII 传输类型,主要是由于历史包袱。在过去,当带宽更紧张时,省去高位(ASCII 不使用)是一个很好的节省时间的方法。但是,如果您有任何设置了位的字节,ASCII 传输模式将丢失它们 - 因此是“二进制”模式,它不会截断任何内容。

    通常,切换传输模式的命令是“bin”或“ascii”。

    【讨论】:

      【解决方案3】:

      让每个人都知道。它一定是我使用的客户端与我的 PowerShell 脚本有完全相同的问题。我正在使用 StreamReader 来获取要传输的字节,并且它假设编码不正确。我切换到了 BinaryReader,但它现在可以工作了。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-09-15
        • 2010-12-26
        • 1970-01-01
        • 1970-01-01
        • 2014-03-03
        • 2013-01-04
        • 1970-01-01
        • 2012-03-20
        相关资源
        最近更新 更多