文章出處

最近在做項目的時候需要操作ftp進行文件的上傳下載,但在調用using (var response = (FtpWebResponse)FtpWebRequest.GetResponse())的時候總是出現"遠程服務器返回錯誤:(550)文件不可用(例如,未找到文件,無法訪問文件)"的異常。在網上也沒有找到好的解決方案,于是自己研究了下給解決了,分享給大家,希望對大家能有所幫助。

異常信息

這種情況是因為FTP設置的默認目錄引發的,以我現在的項目為例,在程序中我要訪問的路徑為 ftp://192.168.0.225/2007/35/0037/00001/1.jpg 這個路徑,但服務器上設置的默認路徑為 E:\pmserver\FTPServer\FTPSERVER ,

 

我們打開相應的ftp目錄看下,這個目錄下面并沒有我要訪問的2007這個文件夾

那2007這個文件夾在什么位置呢?可以看到,2007這個文件夾是在ftpserver的上一級目錄,而ftp設置的默認目錄為ftpserver里,也就是說在程序中默認打開的目錄對應的物理地址是E:\pmserver\FTPServer\FTPSERVER,您也看到了,E:\pmserver\FTPServer\FTPSERVER目錄下根本就沒有2007的文件夾,所以就會拋出異常"遠程服務器返回錯誤:(550)文件不可用(例如,未找到文件,無法訪問文件)"。

解決方法其實很簡單,設置下服務ftp的默認路徑即可 (IIS配置的ftp也是一樣的)

在通過程序進行訪問,可以看到已經獲得到了文件流信息。


文章列表




Avast logo

Avast 防毒軟體已檢查此封電子郵件的病毒。
www.avast.com


arrow
arrow
    全站熱搜

    大師兄 發表在 痞客邦 留言(0) 人氣()