Software caused connection abort: socket write error
在使用ftp上传图片到服务器的时候,总报错
代码只有下面短短的几行
@Test
public void testFtp() throws SocketException, IOException {
// 创建一个ftpclient对象
FTPClient fc = new FTPClient();
// 创建ftp连接,默认是21端口
fc.connect("192.168.60.128", 21);
System.out.println("连接成功");
// 登陆ftp服务器,账户密码是服务器上自己设置的
fc.login("ftpuser", "1311664842");
System.out.println("登陆成功");
// 上传文件
// 读取本地文件
FileInputStream fis = new FileInputStream(new File("C:\\article2.jpg"));
// 设置上传的路径
fc.changeWorkingDirectory("/home/ftpuser/www/images");
// 修改文件上传的格式
fc.setFileType(FTP.BINARY_FILE_TYPE);
// 第一个参数,上传到服务器的文件名
fc.storeFile("hello1.jpg", fis);
// 关闭连接
fis.close();
fc.logout();
}
反复看代码,发现错误不可能出现在代码上,于是又去看服务器上的配置,反复折腾了一波,还是没搞定,最后发现,原来是客户端的防火墙要关了才行。
解决办法:关闭客户端的防火墙,注意是客户端,不是服务器端。