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)
{
try
{
//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);
requestStream.Close();
FtpWebResponse
response = (FtpWebResponse)reqObj.GetResponse();
response.Close();
}
catch (Exception Ex)
{
throw Ex;
}
return true;
}
Calling the Funtion:-
UploadToFTP("ftp://9.2.2.100/aa/samp.txt", 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(@"ftp://9.2.2.100/aa/samp.txt");
wc.Credentials = new NetworkCredential("UName", "PWD");
wc.UploadFile(uriadd, Server.MapPath(@"File/Graph.xls"));
}