1. 程式人生 > >文件上傳到FTP後換行格式發生變化?---記FTP的ASCII和Binary兩種傳輸方式

文件上傳到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(二進位制)模式