FTPClient.storeFile返回false

糾結了兩天的bug總是解決了。
網上有很多方法,導致出現這種情況的問題很多,。
1.可能是編碼問題。
FTPClient的默認編碼格式是在這裏插入圖片描述如果編碼格式的問題,需要代碼中添加

client.setControlEncoding("UTF-8");

2.沒有設置成被動模式
關於被動模式和主動模式,查看FTP協議主動(Port)模式和被動(Passive)兩種模式詳解
簡單的說就是被動模式是服務端開端口(被動模式需要在VSFTPD中設置,默認是不開啓的),主動模式是客戶端開端口(因爲客戶端不容易控制所以一般採用被動模式)。
在代碼中添加

client.enterLocalPassiveMode();

3.文件權限問題(我的問題)
加入你之前在你的上目錄裏手動創建過目錄或者文件就很有可能是這種問題,在你的目錄下使用ll命令可以查看
在這裏插入圖片描述我的test目錄就是這個問題。解決方法:root登錄刪除目錄,使用對應的用戶創建目錄就可以了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章