可能重复:
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