Bootstrap

文档上传到FTP后换行格式发生变化?---记FTP的ASCII和Binary两种传输方式

1.问题由来

之前在公司搭建了一套内网到外网的FTP服务器,以便内网开发人员上传需要拷贝的文件到外网,之前一直好好的,突然有一天发现上传打包好的jar包之后在外网拷贝,打开之后和内网的存在格式上的差别,如下图:

上传前:

外网下载后:

 

2.查找解决

在网上查找资料之后发现:

FTP上有两种传输方式,分别是:ASCII模式和Binary(二进制)模式。

其中Binary模式不对数据进行任何处理。

而ASCII模式将将行结束符从来源的机器所用的行结束符转换成接收机器所用的行结束符,在UNIX下是/n,Windows下是/r/n,Mac下是/r,就会导致传输过后的文件代码缩进换行格式发生变化。

 

3.解决方式

1.命令行方式的传输

在ftp>提示符下输入ascii即转换到ACSII方式,输入bin,即转换到Binary方式

ftp> ascii
200 Type set to A.

ftp> bin
200 Type set to I.

2.使用传输工具传输

在工具设置里将传输方式改为bin(二进制)模式

;