我的ASP.NET网站托管在共享Windows主机服务器中。我试图将文件从本地驱动器上传到服务器文件夹。我已经通过了很多例子。他们可以在本地托管应用程序时上传。但是当远程服务器上托管相同的应用程序时,它无法正常工作。
我能够使用PHP完成此任务,但没有找到使用c#的正确脚本。
请帮忙。
此致 Mohan Kumar VS
答案 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 { }
}