在服务器asp.net mvc之间复制文件

时间:2010-03-17 15:59:56

标签: asp.net-mvc ftp webclient

我正在使用asp.net,c#,MVC和nHibernate,我正在尝试将文件从本地计算机上传到服务器并将文件复制到不同的服务器。我能够将文件上传到服务器并将文件从一个文件夹复制到同一服务器上的另一个文件夹,没有任何问题。但是我怎样才能将文件从一个服务器复制到另一个服务器。 请按照链接查看如何将文件从一个文件夹复制到同一服务器上的另一个文件夹。 Click to see my answer to the file upload question.[please look for answer by kalyan]

请帮忙。谢谢。

2 个答案:

答案 0 :(得分:0)

我认为这样做的唯一方法就是从第一台服务器FTP到第二台服务器。

您可以使用System.Net.FtpWebRequest和System.Net.FtpWebResponse库

答案 1 :(得分:0)

最后我弄清楚了......这是我自己问题的甜蜜代码 旁注:(之前我失踪的部分..)在你做任何事情之前你应该有一个FTP站点。因此,从IIS(在服务器上)创建一个FTP站点并将根目录指向要上载或下载的文件夹,并从属性中手动更改用户名和密码(我的:用户名:administrator,密码:sweet123)如有必要,该网站。 (步骤非常简单,一旦开始创建FTP站点,您就可以轻松理解)。我假设您准备好了FTP站点。现在,让我们说网址是ftp://10.2.1.111/Images/ 并且不要忘记将System.Net和System.IO添加到您的命名空间。
现在来自你的代码。

        string CompleteDPath = "";
            CompleteDPath = "ftp://10.2.1.111/Images/";


            string UName = "";
            string PWD = "";
            UName = "administrator";
            PWD = "sweet123";


            WebRequest reqObj = WebRequest.Create(CompleteDPath + fname);
            reqObj.Method = WebRequestMethods.Ftp.UploadFile;
            reqObj.Credentials = new NetworkCredential(UName, PWD);
            FileStream streamObj = System.IO.File.OpenRead(_FULLlocalpathofthefile + fname);
            byte[] buffer = new byte[streamObj.Length + 1];
            streamObj.Read(buffer, 0, buffer.Length);
            streamObj.Close();
            streamObj = null;
            reqObj.GetRequestStream().Write(buffer, 0, buffer.Length);
            reqObj = null;