将文件上传到Linux服务器到特定位置

时间:2017-06-21 14:45:01

标签: c# linux ftp ftpwebrequest

我在C#中编写小应用程序,它应该将txt文件上传到Linux服务器。它工作但不把文件放在我想要的位置。而不是/ mvno / myfolder / home / reports所有文件都转到这样的路径:userdirectory / mvno / myfolder / home / reports - 相对于用户登录目录的路径。 在MSDN我看到绝对路径%2f 应该被使用(例如" ftp://contoso.com/%2fpath")但它在这里不起作用。

private void UploadReportFTP(string targetPath, string localPath, string fileName)
{
    try
    {
        FtpWebRequest request = (FtpWebRequest)WebRequest.Create(string.Format("ftp://192.168.100.200/{0}/{1}", targetPath, fileName));
        request.Method = WebRequestMethods.Ftp.UploadFile;
        request.Credentials = new NetworkCredential(sFTPUsername, sFTPPassword);

        using (FileStream fs = File.OpenRead(localPath + fileName))
        {
            byte[] buffer = new byte[fs.Length];
            fs.Read(buffer, 0, buffer.Length);
            fs.Close();
            Stream requestStream = request.GetRequestStream();
            requestStream.Write(buffer, 0, buffer.Length);
            requestStream.Flush();
            requestStream.Close();
        }
    }
    catch (Exception ex)
    {
        Console.WriteLine(ex.Message);
    }
}

有没有解决方案?

0 个答案:

没有答案