問題描述:
前幾天編寫乙個c#程式,大致是要把乙個檔案上傳到ftp伺服器上,當**執行到
stream st = reqftp.getrequeststream();
時會丟擲異常,異常的詳細內容為:遠端伺服器返回錯誤:(550)檔案不可用(例如,未找到檔案,無法訪問檔案)
在解決問題時發現ftp伺服器分為隔離式的和非隔離式的,所謂隔離式的就是每個user使用乙個資料夾作為自己ftp伺服器的目錄,這個目錄並不是ftp伺服器設定的根目錄。而非隔離式的ftp即每個使用者共享乙個資料夾,作為ftp的根目錄。
當時我上傳的路徑為
在非隔離式ftp伺服器中可以正常的上傳成功,而在隔離式的就不能成功了,報出上面550的錯誤。
具體的解決辦法為:
把上傳路徑改為
其中ftpuser為當前登入使用者的使用者名稱,192.168.1.12為ftp伺服器的ip位址,123.txt為要上傳的檔名
這樣寫就可以把檔案上傳到這個ftp伺服器的根目錄下了。經測試,在隔離式和非隔離式ftp伺服器下均可使用,不會報錯。
同樣的道理,當你不想上傳到根目錄下,需要傳到根目錄下log資料夾下時可以這樣寫
就可以了。
C 開發ftp客戶端遇到550錯誤
最近使用c 開發乙個簡易的ftp客戶端,在測試上傳功能的時候發現丟擲乙個錯誤,遠端伺服器返回錯誤 550 檔案不可用 例如,未找到檔案,無法訪問檔案 然後我就通過vs除錯的工具跟了一下,發現出現異常的地方在下面的 段那 stream strm reqftp.getrequeststream cont...
FTP上傳的小錯誤
呼叫別人寫的ftpclient.cs 開始的時候呼叫的方法如下 ftpclient fc new ftpclient 127.0.0.1 pcj 123456 fc.upload new fileinfo textbox1.text 02 datetime.now xls 經檢測第一句沒問題,就是可...
IIS6 0下建立使用者隔離模式FTP站點
為了方便大家使用,所建立的ftp站點不僅允許訪問,而且對主目錄啟用了 讀取 和 寫入 的許可權。這樣一來任何人都可以沒有約束地任意讀寫,難免出現一團糟的情況。如果您使用iis 6.0,只需建立乙個 使用者隔離 的ftp站點就可以有效解決此問題。隔離使用者 是iis 6 0中包含的ftp元件的一項新增...