Contents tagged with FtpWebRequest

  • Uploading File using FtpWebRequest

    For those people who are interested to use FtpWebRequest to upload files on a server. Here is the code:
     
     
    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];
        
        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();
    }