我有以下代码来执行FTP文件:
private bool InitFTPTransfer(string filePath)
{
Uri ipAddress = new Uri(ddcdao.ddcAddress);
string ftpAddress = "ftp://10.175.95.11/mnt/flash" +Path.GetFileName(filePath);
FtpWebRequest request = (FtpWebRequest)WebRequest.Create(ftpAddress);
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();
return true;
}
文件传输没有问题,但文件放在根目录上,而不是指定目录(/ mnt / flash)。
我的印象是,在ftp地址中指定一个目录应该正确设置目的地,但对于嵌入式Linux来说可能不是这样。
如何解决此问题?
答案 0 :(得分:1)
路径似乎是正确的。但是:
/
)。这可能导致路径无效,导致其写入根文件夹。问题可能出在FTP服务器配置端。 FTP服务器似乎将文件系统的根文件夹作为其根文件夹提供,这是一种不好的做法。 FTP服务器应该只提供应下载或上传的文件夹文件。但是,这可能是您正在使用的嵌入式Linux上的配置功能。</ p>