我正在使用“ftp put”将文件从 Linux PC 传输到 Windows FTP 服务器。我的文件是一个 zip 文件,其中包含 .txt 文件。
以下是我传输此文件时发生的情况:
- 我使用 ftp put 进行传输,发现我传输的 zip 文件已损坏,无法在 ftp 服务器上打开。
- 我在网上找到了解决方案。我需要使用“二进制”才能解决问题。
- 我再次使用二进制传输,然后通过 ftp 将 zip 文件放到另一端。是的,成功了。我的 zip 文件不再损坏,我已经可以在 ftp 服务器上打开它了。但问题仍然存在于其中的 .txt 文件上。将文件转换为二进制文件会使我的 .txt 文件失真且无法读取。我从互联网上看到,.txt 文件需要使用 Ascii 而不是二进制才能读取,但如果我使用 ascii,则会导致我的 zip 文件再次损坏。
有什么办法可以解决这个问题?我需要使用 ftp put 成功传输包含 .txt 文件的 zip 文件。
答案1
答案2
该文件尚未更改,因为它在 zip 中,并且 FTP 对 zip 文件及其内容一无所知。
顺便提一下,FTP 上采用二进制/ASCII 模式的原因是不同的操作系统对行尾的约定不同。对于 Linux 和 Windows,约定不同,并且您应该使用 ASCII 来传输 txt 文件,这样行尾就会被转换。但是 zip 文件没有“行”,因此不需要转换。
正如前面的答案指出的那样,您应该使用能够处理不同行尾约定的文本编辑器。
或者,您可以在存档之前将文件转换为 dos 行结尾:
todos file.txt
您应该也能够在 Windows 端进行转换,(参见:http://www.thefreecountry.com/tofrodos/)
答案3
您已将文件压缩并使用二进制传输。ftp 过程不会以任何方式尝试修改此 zip 文件中的文本文件。使用 Wordpad 而不是 Notepad 查看文件。
答案4
我会推荐记事本++。它具有更多功能 - 特别是如果你正在编程 - 而且是免费的。