c#使用FTP将本地文件上传到Server。 c#文件位于服务器上

时间:2015-01-13 15:39:15

标签: c# server

我的ASP.NET网站托管在共享Windows主机服务器中。我试图将文件从本地驱动器上传到服务器文件夹。我已经通过了很多例子。他们可以在本地托管应用程序时上传。但是当远程服务器上托管相同的应用程序时,它无法正常工作。

我能够使用PHP完成此任务,但没有找到使用c#的正确脚本。

请帮忙。

此致 Mohan Kumar VS

1 个答案:

答案 0 :(得分:1)

试试这个。此代码可以从工作解决方案中解决。

<add key="ServerReportFTP" value="ftp://10.1.1.1"/>
<add key="ServerReportFTPUserName" value="username"/>
<add key="ServerReportFTPPassword" value="password"/>
private static void UploadFileToFtp(string sourceFile, string destFile)
        {
            try
            {
                var ServerReportFTP = ConfigurationManager.AppSettings["ServerReportFTP"];
                var ServerReportFTPUserName = ConfigurationManager.AppSettings["ServerReportFTPUserName"];
                var ServerReportFTPPassword = ConfigurationManager.AppSettings["ServerReportFTPPassword"];

                var request = (FtpWebRequest)WebRequest.Create(ServerReportFTP);
                request.Method = WebRequestMethods.Ftp.UploadFile;
                request.Credentials = new NetworkCredential(ServerReportFTPUserName, ServerReportFTPPassword);

                var sourceStream = new StreamReader(sourceFile);
                var fileContents = Encoding.UTF8.GetBytes(sourceStream.ReadToEnd());
                sourceStream.Close();
                request.ContentLength = fileContents.Length;

                var requestStream = request.GetRequestStream();
                requestStream.Write(fileContents, 0, fileContents.Length);
                requestStream.Close();

                //var response = (FtpWebResponse)request.GetResponse();
                //response.Close();
            }
            catch { }
        }