隔离用户下ftp上传550错误解决办法

问题描述:

前几天编写一个C#程序,大致是要把一个文件上传到ftp服务器上,当代码执行到

Stream st = reqFTP.GetRequestStream();

时会抛出异常,异常的详细内容为:远程服务器返回错误:(550)文件不可用(例如,未找到文件,无法访问文件)


在解决问题时发现ftp服务器分为隔离式的和非隔离式的,所谓隔离式的就是每个User使用一个文件夹作为自己ftp服务器的目录,这个目录并不是ftp服务器设置的根目录。而非隔离式的ftp即每个用户共享一个文件夹,作为ftp的根目录。

当时我上传的路径为

ftp://192.168.1.12/123.txt

在非隔离式ftp服务器中可以正常的上传成功,而在隔离式的就不能成功了,报出上面550的错误。

具体的解决办法为:

把上传路径改为

ftp://ftpuser@192.168.1.12/123.txt

其中ftpuser为当前登录用户的用户名,192.168.1.12为ftp服务器的ip地址,123.txt为要上传的文件名

这样写就可以把文件上传到这个ftp服务器的根目录下了。经测试,在隔离式和非隔离式ftp服务器下均可使用,不会报错。


同样的道理,当你不想上传到根目录下,需要传到根目录下log文件夹下时可以这样写

ftp://ftpuser@192.168.1.12/log/123.txt

就可以了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值