2010-06-23 81 views
1

我無法通過C#訪問FTP服務器,因爲找不到正確的URI。 可以使用ftp.xxx.com找到ftp服務器 - 因此ftp ftp.xxx.com可以從命令行運行,ftp ftp://ftp.xxx.com通過命令行生成未知主機。使用ftp服務器的URI問題

FtpWebRequest ftpRequest = (FtpWebRequest)WebRequest.Create(new Uri(Settings.Default.FtpServer, UriKind.Absolute)); 

我的C#程序 我在做什麼錯內部時/我怎麼需要確定URI同樣的情況呢?

+0

什麼是'Settings.Default.FtpServer'的實際價值? – pmartin 2011-01-12 17:21:56

+0

接受的答案被刪除。 「這個URI可能是相對的或絕對的,如果URI的格式爲」ftp://contoso.com/%2fpath「(%2f是一個轉義的'/'),那麼URI是絕對路徑,當前目錄爲/ path。但是,如果URI的格式爲「ftp://contoso.com/path」,則首先.NET Framework登錄到FTP服務器(使用用戶名和密碼設置通過Credentials屬性),那麼當前目錄設置爲 /路徑。「 – weismat 2011-01-13 13:51:18

回答

0

您設置了哪個WebRequestMethod?如果它設置爲下載文件,它可能會失敗,因爲您的URI沒有指向文件,而是指向服務器的根目錄。 林不知道它的重點不能自己測試,但邏輯上看我。

編輯: 默認方法是DownloadFile(擡頭與反射器)

+0

WebRequestMethods.Ftp.UploadFile是我的方法,但崩潰發生在構造函數處。難道我需要爲URI添加路由嗎? – weismat 2010-06-23 09:10:54

0

finalUri = ftp://11.11.11.11/ + Uri.EscapeDataString(文件夾)+/+ Uri.EscapeDataString(文件夾).../+ Uri.EscapeDataString(文件名)

-1

試試看

FtpWebRequest reqFTP = (FtpWebRequest)WebRequest.Create(new Uri("ftp://" + xx.xx.xx.xx + "/" + FileName));