Uploading File using FtpWebRequest

 Rate It (5)

FtpWebRequest

The FtpWebRequest class enables you to programatically create FTP connections to FTP Servers and transfer files.  If you are interested in using the FtpWebRequest class to upload files to a server, here is a code sample:

FtpWebRequest ftpRequest;

FtpWebResponse ftpResponse;

 

try

{

    //Settings required to establish a connection with the server

    this.ftpRequest = (FtpWebRequest)FtpWebRequest.Create(new Uri("ftp://ServerIP/FileName"));

    this.ftpRequest.Method = WebRequestMethods.Ftp.UploadFile;

    this.ftpRequest.Proxy = null;

    this.ftpRequest.UseBinary = true;

    this.ftpRequest.Credentials = new NetworkCredential("UserName", "Password");

 

    //Selection of file to be uploaded

    FileInfo ff = new FileInfo("File Local Path With File Name");//e.g.: c:\\Test.txt

    byte[] fileContents = new byte[ff.Length];

 

    //will destroy the object immediately after being used

    using (FileStream fr = ff.OpenRead())

    {

        fr.Read(fileContents, 0, Convert.ToInt32(ff.Length));

    }

 

    using (Stream writer = ftpRequest.GetRequestStream())

    {

        writer.Write(fileContents, 0, fileContents.Length);

    }

    //Gets the FtpWebResponse of the uploading operation

    this.ftpResponse = (FtpWebResponse)this.ftpRequest.GetResponse();

    Response.Write(this.ftpResponse.StatusDescription); //Display response

}

catch (WebException webex)

{

    this.Message = webex.ToString();

}

 
 
 

Revision number 2, Saturday, February 16, 2008 5:55:26 AM by mbanavige

Comments

The FTP upload issue is a popular question topic on the forums and this code block is an excellent solution for most people. It should be noted though that if this code is running in a code behind file on a remote web server it is not possible to upload the file from the client side. The FTP source files will be residing on the machine that is running this code. I noticed that this was a point of confusion for some users.

Featured ASP.NET Web Hosting

Powerful, Award Winning ASP.NET Hosting Trusted By Over 30,000 ASP.NET Developers

3 Months Free & No Setup Fees – CLICK HERE!

Table of Contents

Top Wiki Contributors

Advertise Here