Uploading files to ftp server programmatically in asp.net

This code sample shows how to use Asp.net using C# code to programmatically upload files to an ftp server,There is a lot of ways  to upload file to FTP Server here is the two of them first using with FtpWebRequest and another with WebClient.

the code given bellow is for uploading file from your server to FTP Server so if we would like to give functionality to user to upload file directly from (their computer) client side to FTP Server then firstly we have to save that client file on server through fileupload control and then use this code to upload that file to ftp server.

    /// <summary>
    /// Code to upload file to FTP Server
    /// </summary>
    /// <param name="strLocalFilePath">Complete physical path of the file to be uploaded</param>
    /// <param name="strFTPFilePath">FTP Path</param>
    /// <param name="strUserName">FTP User account name</param>
    /// <param name="strPassword">FTP User password</param>
    /// <returns>Boolean value based on result</returns>

using System.Net;
using System.IO;

private bool UploadToFTP(string strFTPFilePath, string strLocalFilePath, string strUserName, string strPassword)

    //Create a FTP Request Object and Specfiy a Complete Path
    FtpWebRequest reqObj = (FtpWebRequest)WebRequest.Create(strFTPFilePath);

    //Call A FileUpload Method of FTP Request Object
    reqObj.Method = WebRequestMethods.Ftp.UploadFile;

  //If you want to access Resourse Protected,give UserName and PWD
    reqObj.Credentials = new NetworkCredential(strUserName, strPassword);

    // Copy the contents of the file to the byte array.
    byte[] fileContents = File.ReadAllBytes(strLocalFilePath);
    reqObj.ContentLength = fileContents.Length;

    //Upload File to FTPServer
    Stream requestStream = reqObj.GetRequestStream();
    requestStream.Write(fileContents, 0, fileContents.Length);
    FtpWebResponse response = (FtpWebResponse)reqObj.GetResponse();

catch (Exception Ex)
    throw Ex;
return true;

Calling the Funtion:-

UploadToFTP("", Server.MapPath(@"File/Graph.xls"), "uid", "pwd");

Here another code for uploading file to FTP Server using WebClient Class through asp.net.

using System.Net;
using System.IO;

private void UploadToFTPFromWEBCLIENT()
        WebClient wc = new WebClient();
        Uri uriadd = new Uri(@"");
        wc.Credentials = new NetworkCredential("UName", "PWD");
        wc.UploadFile(uriadd, Server.MapPath(@"File/Graph.xls"));

Recent Article