解決FTPClient上傳檔案時檔案被破壞問題

2021-04-14 01:07:42 字數 491 閱讀 8897

用apache的ftpclient上傳檔案時發現乙個問題,就是上傳txt檔案沒問題,但上傳zip檔案時檔案會被破壞,查了一下原因,原來是這樣:

因為rfc 959中規定了預設的傳輸模式應該是ascii的,org.apache.commons.net.ftp.ftpclient實現也遵守此標準。所以org.apache.commons.net.ftp.ftpclient在預設情況下是按ascii形式進行傳輸的,如果你是傳輸的binary二進位制檔案(如zip),那麼上傳完後的檔案就會被破壞,但是傳輸ascii檔案(如txt)是沒有問題的。

所以如果你是傳輸的binary二進位制檔案的話,就需要在建立連線、登陸後,接下來設定檔案型別,**示例如下:

ftpclient.connect(host);

ftpclient.login(user, password);

ftpclient.setfiletype(ftpclient.binary_file_type);

這下就ok啦! 

JAVA中使用FTPClient上傳

一 上傳檔案 原理就不介紹了,大家直接看 吧 description 向ftp伺服器上傳檔案 version1.0 param url ftp伺服器hostname param port ftp伺服器端口 param username ftp登入賬號 param password ftp登入密碼 p...

Vsftpd使用FtpClient上傳檔案踩過的坑

1.切換工作目錄返回false怎麼破?ftpclient.changeworkingdirectory images 切換工作目錄是目錄直接寫相對於local user目錄的路徑即可。2.上傳檔案損壞怎麼破?設定檔案上傳形式為二進位制格式即可。ftpclient.setfiletype ftp.bi...

解決ie上傳檔案後取消上傳再上傳同名檔案上傳不了

測試反應了乙個問題,就是在ie底下上傳了乙個檔案,然後取消了,然後再上傳那個同名檔案,上傳不了,除非重新整理一下頁面。然後用ie 10看了下,果真存在這個問題。列印發現,即使用js把input file的值清空了,在ie 10底下,仍能獲取到之前檔案值。所以導致在input file繫結change...