Uploading a file to server using FTPWebRequest

Here is the code for uploading files to a particular system(or a server) using FTP.

FtpWebRequest ftpRequest;
FtpWebResponse ftpResponse;

//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];

using (FileStream fr = ff.OpenRead()) //will destroy the object immediately after being used
fr.Read(fileContents, 0, Convert.ToInt32(ff.Length));

using (Stream writer = ftpRequest.GetRequestStream())
writer.Write(fileContents, 0, fileContents.Length);

this.ftpResponse = (FtpWebResponse)this.ftpRequest.GetResponse(); //Gets the FtpWebResponse of the uploading operation
Response.Write(this.ftpResponse.StatusDescription); //Display response
catch (WebException webex)
this.Message = webex.ToString();

This entry was posted in Code Snippets and tagged , , , , by Pranav. Bookmark the permalink.

About Pranav

A Software Engineer by profession and a Geek at heart. I love exploring new technologies and working on algorithmic problems. As of now, I write code for bread, butter and satisfaction. I like to develop applications, and generally that involves much more than writing code. It’s not just about hurling code, but producing something meaningful that has a measurable and positive impact, helps others and solves interesting problems.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s