最近在搭FTP的圖片服務器,在本地測試時,總是出現錯誤
code:
//代碼中的硬編碼之後會寫在配置文件中,此處只是爲了測試!
@Test
public void testFtpClient() throws Exception {
//創建一個FtpClient對象
FTPClient ftpClient = new FTPClient();
//創建ftp連接。默認是21端口
ftpClient.connect("192.168.25.153", 21);
//登錄ftp服務器,使用用戶名和密碼
ftpClient.login("root", "root");
//上傳文件。
//讀取本地文件
String picPath="E:/0C6480C5645A70D46ACA24976E3_6DA965DE_4A60F.jpg";
FileInputStream inputStream = new FileInputStream(new File(picPath));
//設置上傳的路徑
ftpClient.changeWorkingDirectory("/home/ftpuser/images");
//修改上傳文件的格式
ftpClient.setFileType(FTP.BINARY_FILE_TYPE);
//第一個參數:服務器端文檔名
//第二個參數:上傳文檔的inputStream
ftpClient.storeFile("Demo.jpg", inputStream);
//關閉連接
ftpClient.logout();
}
出錯:
在本地的linux上已經成功搭建了VSFTPD和nginx,我一直以爲是linux配置有問題,之後在網上查了一下解決方案都不行,最後去了Stack Overflow上查了一下:
在底下的評論中,我也想了這些人的回答,其中有個人說,和window防火牆有關,我想了一下,直接暴力把電腦的防火牆關了,
再次測試運行成功!
感想:自己真TM菜雞。。。雖然是很簡單的問題,還是浪費了很多時間,這是基礎和經驗的缺乏。。。