我需要通過ftp上傳文件到主機。在主機上的根目錄中創建的/home2/travele2
路徑 遠程服務器返回錯誤:(550)上傳文件到FTP使用FtpWebRequest
我可以通過FileZilla的程序上傳文件到主機,但是當我試圖通過網站上傳的文件,它使我這個錯誤:
The remote server returned an error: (550) File unavailable (e.g., file not found, no access).
什麼問題是什麼?
// Get the object used to communicate with the server.
FtpWebRequest ftpWebRequest = (FtpWebRequest)WebRequest.Create("ftp://00.00.00.00/home2/travele2");
ftpWebRequest.Method = WebRequestMethods.Ftp.UploadFile;
// This example assumes the FTP site uses anonymous logon.
ftpWebRequest.Credentials = new NetworkCredential("aaaaaaa", "0000000");
// Copy the contents of the file to the request stream.
StreamReader sourceStream = new StreamReader(Server.MapPath("/Content/Site.pdf"));
byte[] fileContents = Encoding.UTF8.GetBytes(sourceStream.ReadToEnd());
sourceStream.Close();
ftpWebRequest.ContentLength = fileContents.Length;
Stream requestStream = ftpWebRequest.GetRequestStream();
requestStream.Write(fileContents, 0, fileContents.Length);
requestStream.Close();
FtpWebResponse response = (FtpWebResponse)ftpWebRequest.GetResponse();
Console.WriteLine("Upload File Complete, status {0}", response.StatusDescription);
response.Close();
誤差似乎從該線到來:'的FtpWebRequest的FtpWebRequest =(的FtpWebRequest)WebRequest.Create( 「ftp://00.00.00.00/home2/travele2」) ;'(你有這個文件夾的權限和文件存在嗎?)。你可以用'WebException'使用try-catch塊,並發現'var status =((FtpWebResponse)e.Response).StatusDescription;'的實際問題。 –
需要什麼權限? – programmer138200
文件夾寫入訪問權限...我假設您已經被授予該文件夾的文件寫入訪問權限,您可以繼續使用'WebException'找到原因,正如我之前提到的。 –