可能重複:
How do you change directories using FtpWebRequest (.NET)?更改路徑上傳文件FTP
private void InitFTPTransfer(string filePath)
{
string[] ftpAddress = ddcdao.ddcAddress.Split(new string[] { "http://" }, StringSplitOptions.None);
FtpWebRequest request = (FtpWebRequest)WebRequest.Create("ftp://" + ftpAddress[1] + "/root/" + Path.GetFileName(filePath));
request.Method = WebRequestMethods.Ftp.UploadFile;
request.Credentials = new NetworkCredential(Properties.Settings.Default.SysFTPID, Properties.Settings.Default.SysFTPPassword);
byte[] fileContents = File.ReadAllBytes(filePath);
request.ContentLength = fileContents.Length;
Stream requestStream = request.GetRequestStream();
requestStream.Write(fileContents, 0, fileContents.Length);
requestStream.Close();
FtpWebResponse response = (FtpWebResponse)request.GetResponse();
response.Close();
}
我上面的代碼到一個特定的文件上傳到的路徑。
在ftp裏面,我該如何設置一個特定的目錄來上傳文件?
在這種情況下,我上傳到一臺具有嵌入式linux所以它需要在/根/ somedirectory
編輯:我試過的實際,包括在請求路徑的目錄路徑的建議但是它只是在request.GetRequestStream()的一行中引發System.Net.WebException並帶有「系統錯誤」消息。
@jcolebrand嵌入式Linux,而不是Windows – l46kok
好了,解釋如何我的建議行不通?你顯然沒有說你已經嘗試了什麼。爲什麼把路徑放在文件名中不起作用? – jcolebrand
@jcolebrand它只是在「request.GetRequestStream()」引發System.Net.WebException。異常消息是「系統錯誤」 – l46kok