
Get Remote File List
private ArrayList GetRemoteFiles()
{
ArrayList al = new ArrayList();
FtpWebRequest fwr = (FtpWebRequest)FtpWebRequest.Create(new Uri("ftp://" + ftpIP));
fwr.Credentials = new NetworkCredential(ftpUser, ftpPass);
fwr.Method = WebRequestMethods.Ftp.ListDirectory;
fwr.UsePassive = false;
StreamReader sr = new StreamReader(fwr.GetResponse().GetResponseStream());
string str = sr.ReadLine();
while (str != null)
{
al.Add(str);
str = sr.ReadLine();
}
sr.Close();
sr = null;
fwr = null;
return al;
}
Download File to Local
private void DownloadFile(string remoteFile, string localFile)
{
try
{
string uri = @"ftp://" + ftpIP + @"/" + remoteFile;
FtpWebRequest request = (FtpWebRequest)WebRequest.Create(uri);
request.Method = WebRequestMethods.Ftp.DownloadFile;
request.UsePassive = false;
request.Credentials = new NetworkCredential(ftpUser, ftpPass);
request.UseBinary = true;
FtpWebResponse response = (FtpWebResponse)request.GetResponse();
Stream responseStream = response.GetResponseStream();
FileStream writeStream = new FileStream(localFile, FileMode.Create, FileAccess.Write);
ReadWriteStream(responseStream, writeStream);
response.Close();
}
catch (Exception e)
{
throw new Exception(e.Message);
}
}
Comments