0

I am using asp.net, c#, MVC and nHibernate and I am trying to upload a file from a local machine to the server and replicate the file to the different server. I was able to upload file to the server and copy the file from one folder to the other folder on the same server without any problem.But how can I copy the file from one server to another server. Please follow the link to see how to copy a file from one folder to another folder on the same server. Click to see my answer to the file upload question.[please look for answer by kalyan]

Please help. Thank you.

Community
  • 1
  • 1
bluwater2001
  • 7,829
  • 5
  • 24
  • 21

2 Answers2

0

The only way I think this would work is if you FTP to the second server from your first server.

You can use System.Net.FtpWebRequest and System.Net.FtpWebResponse libraries

Wil
  • 2,328
  • 2
  • 20
  • 27
  • I am new to this and I tried understanding FTP but it is not helpful. Can you please tell me the way to do or any reference material that i can look into to get this thing to work using c#.net. Thank you. – bluwater2001 Mar 17 '10 at 16:47
0

Finally I got it figured out.. here is the sweet code for my own problem.
Side Note:(part I was missing before..) Before you do any thing you should have a FTP site. So, from the IIS (on the server) create a FTP site and point the root directory to the folder that you want to upload or download and manually change the username and password (mine: username: administrator, password: sweet123) from the properties of the site if necessary. (steps are very simple u can easily understand once u start creating an FTP site). I assume that you have your FTP site ready. Now, let us say the url is ftp://10.2.1.111/Images/.
And dont forget to add System.Net and System.IO to your namespace.
now from your code.

        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;
bluwater2001
  • 7,829
  • 5
  • 24
  • 21
  • I know I'm a couple of years late, but why declare `UName` and `PWD` separate to their assignments instead of `string UName = "administrator";` and `string PWD = "sweet123";`? – Ortund Nov 29 '12 at 11:36