C#操做FTP報錯,遠程服務器返回錯誤:(550)文件不可用(例如,未找到文件,沒法訪問文件)的解決方法

最近在作項目的時候須要操做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也是同樣的)配置

在經過程序進行訪問,能夠看到已經得到到了文件流信息。下載

相關文章
相關標籤/搜索