Software caused connection abort: socket write error

本文记录了一次使用FTP上传图片到服务器时遇到的问题及解决过程。通过检查代码和服务器配置未发现问题,最终发现客户端防火墙是导致上传失败的原因。关闭客户端防火墙后,问题得以解决。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在使用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();
	}

反复看代码,发现错误不可能出现在代码上,于是又去看服务器上的配置,反复折腾了一波,还是没搞定,最后发现,原来是客户端的防火墙要关了才行。

解决办法:关闭客户端的防火墙,注意是客户端,不是服务器端。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值