我試圖將文件上載到使用的代碼基於this Microsoft ArticleFTP - 文件名不允許
我的代碼FTP服務器看起來像這樣用於測試目的:
string ftpUrl = "ftp://" + ftpSite + ftpPath + "test.txt";
//string ftpUrl = ftpSite;
FtpWebRequest request = (FtpWebRequest)WebRequest.Create(ftpUrl);
request.Credentials = new NetworkCredential(ftpUsername, ftpPassword);
request.Method = WebRequestMethods.Ftp.UploadFile;
StreamReader srcStream = new StreamReader(filePath);
byte[] fileContents = Encoding.UTF8.GetBytes(srcStream.ReadToEnd());
request.ContentLength = fileContents.Length;
Stream requestStream = request.GetRequestStream();
requestStream.Write(fileContents, 0, fileContents.Length);
requestStream.Close();
FtpWebResponse response = (FtpWebResponse)request.GetResponse();
每次我試着上傳文件,我從FTP服務器得到一個「Filename not allowed」錯誤。如果我使用像WS_FTP這樣的FTP客戶端應用程序,我可以很好地FTP同一個文件。
有關如何解決此問題的任何想法?我已經嘗試設置主動/被動FTP模式,Keepalive和二進制模式,沒有任何運氣。
編輯
這是一個WinForms應用程序 - 文件名從打開文件對話框提示進來,FTP地址是基於App.Config中的設置。
您能否請求包含ftpUrl的完整結果? – Blueberry
您可以請包括ftpSite和ftpPath的來源以及您使用的是什麼值? –
這是一個內部服務器,但如下格式:ftp://1.2.3.4/directory/subdirectory/test.txt – Tim