Introduction:
Recently I have gone through the
requirement of downloading all CSV or XLSX on FTP server in asp.net using c#. I have
share the code how I have solve this issue. We can download any type of file
from server using this code. Just change the Extension of the file or mention
multiple files extension.
Description: In previous articles I
have explained ASP.NET:
Merge two data-tables into one in asp.net using c# & vb.net And ASP.NET:
Merge two data-tables into one in asp.net using c# & vb.net And Configure or Querying SqlDataSource to database And Insert
data In gridview in ASP.NET using C# & vb.Net.
Code to Download .CSV or .XLSX Files from FTP Server:
protected void Page_Load(object sender, EventArgs e)
protected void Page_Load(object sender, EventArgs e)
{
string FtpServer="ftp://--.--.--.- /";
string username="username";
string password="password";
string localpath=@"D:\\FolderName\";
DownloadFile(FtpServer,username,password,localpath);
}
public void DownloadFile(string FtpServer,string username,string password,string localpath)
{
FtpWebRequest request = (FtpWebRequest)WebRequest.Create(FtpServer);
request.Credentials = new NetworkCredential(username,password );
request.Method = WebRequestMethods.Ftp.ListDirectory;
StreamReader streamReader = new StreamReader(request.GetResponse().GetResponseStream());
string fileName3 = streamReader.ReadLine();
List<string> directories = new List<string>();
while (fileName3 != null && fileName3 != "testing12")
{
if (Path.GetExtension(fileName3) == ".csv") //or .xlsx
{
directories.Add(fileName3);
}
fileName3 = streamReader.ReadLine();
}
streamReader.Close();
using (WebClient ftpClient = new WebClient())
{
ftpClient.Credentials = newSystem.Net.NetworkCredential(username , password );
for (int i = 0; i <= directories.Count - 1; i++)
{
if (directories[i].Contains("."))
{
string path = FtpServer + directories[i].ToString();
string trnsfrpth = localpath + directories[i].ToString();
ftpClient.DownloadFile(path, trnsfrpth);
}
}
}
}