最近在作项目的时候须要操做ftp进行文件的上传下载,但在调用using (var response = (FtpWebResponse)FtpWebRequest.GetResponse())的时候老是出现"远程服务器返回错误:(550)文件不可用(例如,未找到文件,没法访问文件)"的异常。在网上也没有找到好的解决方案,因而本身研究了下给解决了,分享给你们,但愿对你们能有所帮助。服务器
异常信息spa
这种状况是由于FTP设置的默认目录引起的,以我如今的项目为例,在程序中我要访问的路径为 ftp://192.168.0.225/2007/35/0037/00001/1.jpg 这个路径,但服务器上设置的默认路径为 E:\pmserver\FTPServer\FTPSERVER ,server
咱们打开相应的ftp目录看下,这个目录下面并无我要访问的2007这个文件夹blog
那2007这个文件夹在什么位置呢?能够看到,2007这个文件夹是在ftpserver的上一级目录,而ftp设置的默认目录为ftpserver里,也就是说在程序中默认打开的目录对应的物理地址是E:\pmserver\FTPServer\FTPSERVER,您也看到了,E:\pmserver\FTPServer\FTPSERVER目录下根本就没有2007的文件夹,因此就会抛出异常"远程服务器返回错误:(550)文件不可用(例如,未找到文件,没法访问文件)"。ftp
解决方法其实很简单,设置下服务ftp的默认路径便可 (IIS配置的ftp也是同样的)配置
在经过程序进行访问,能够看到已经得到到了文件流信息。下载