// to download file from FTP server.
private async void button1_Click(object sender, EventArgs e)
{
try
{
bool blnfilestatus = await FileDeleteAndCopy(); // to copy file and delete from folder "Refer my old post copy file and delete"
bool CheckStatus = true;
if (blnfilestatus == true)
{
label1.Text = "Reading file from FTP server";
string lstrFTPServerPath = "ftp://172.11.11.11/Employee.xlsx";
string localPath = @"G:\New\";
string fileName = "Employee.xlsx";
FtpWebRequest requestFileDownload = (FtpWebRequest)WebRequest.Create(lstrFTPServerPath);
requestFileDownload.Credentials = new NetworkCredential("UserName", "Password");
requestFileDownload.Method = WebRequestMethods.Ftp.DownloadFile;
FtpWebResponse responseFileDownload = (FtpWebResponse)requestFileDownload.GetResponse();
Stream responseStream = responseFileDownload.GetResponseStream();
FileStream writeStream = new FileStream(localPath + fileName, FileMode.Create, FileAccess.ReadWrite,
FileShare.ReadWrite, bufferSize: 4096, useAsync: true);
int Length = 4096; // size of file 4MB only
Byte[] buffer = new Byte[Length];
int bytesRead = await responseStream.ReadAsync(buffer, 0, Length);
while (bytesRead > 0)
{
await writeStream.WriteAsync(buffer, 0, bytesRead);
//bytesRead = responseStream.Read(buffer, 0, Length);
bytesRead =await responseStream.ReadAsync(buffer, 0, Length); // Read file using await keyword
}
responseStream.Close();
writeStream.Close();
requestFileDownload = null;
responseFileDownload = null;
label1.Text = "Done !";
string FilePathafterUpdate = localPath + "\\" + fileName;
FileInfo fiinfo = new FileInfo(localPath + "\\" + fileName);
if (fiinfo.Exists)
{
label1.Text = "Checking file exists in directory";
if (fiinfo.CreationTime < DateTime.Now && fiinfo.CreationTime > DateTime.Now.AddMinutes(-1)) // for checking file is crated in folder or not just before 1 min ago.its depend on your requirement you can use what you want
{
if (fiinfo.Extension == ".xlsx" || fiinfo.Extension == ".xls")
{
// write your code.
}
}
}
else
{
label1.Text = "File not found at target location !";
}
}
else
{
label1.Text = "Not able to move file from target to source folder";
}
}
catch (Exception ex)
{
ErrorLog(ex.Message.ToString());
}
}
private async void button1_Click(object sender, EventArgs e)
{
try
{
bool blnfilestatus = await FileDeleteAndCopy(); // to copy file and delete from folder "Refer my old post copy file and delete"
bool CheckStatus = true;
if (blnfilestatus == true)
{
label1.Text = "Reading file from FTP server";
string lstrFTPServerPath = "ftp://172.11.11.11/Employee.xlsx";
string localPath = @"G:\New\";
string fileName = "Employee.xlsx";
FtpWebRequest requestFileDownload = (FtpWebRequest)WebRequest.Create(lstrFTPServerPath);
requestFileDownload.Credentials = new NetworkCredential("UserName", "Password");
requestFileDownload.Method = WebRequestMethods.Ftp.DownloadFile;
FtpWebResponse responseFileDownload = (FtpWebResponse)requestFileDownload.GetResponse();
Stream responseStream = responseFileDownload.GetResponseStream();
FileStream writeStream = new FileStream(localPath + fileName, FileMode.Create, FileAccess.ReadWrite,
FileShare.ReadWrite, bufferSize: 4096, useAsync: true);
int Length = 4096; // size of file 4MB only
Byte[] buffer = new Byte[Length];
int bytesRead = await responseStream.ReadAsync(buffer, 0, Length);
while (bytesRead > 0)
{
await writeStream.WriteAsync(buffer, 0, bytesRead);
//bytesRead = responseStream.Read(buffer, 0, Length);
bytesRead =await responseStream.ReadAsync(buffer, 0, Length); // Read file using await keyword
}
responseStream.Close();
writeStream.Close();
requestFileDownload = null;
responseFileDownload = null;
label1.Text = "Done !";
string FilePathafterUpdate = localPath + "\\" + fileName;
FileInfo fiinfo = new FileInfo(localPath + "\\" + fileName);
if (fiinfo.Exists)
{
label1.Text = "Checking file exists in directory";
if (fiinfo.CreationTime < DateTime.Now && fiinfo.CreationTime > DateTime.Now.AddMinutes(-1)) // for checking file is crated in folder or not just before 1 min ago.its depend on your requirement you can use what you want
{
if (fiinfo.Extension == ".xlsx" || fiinfo.Extension == ".xls")
{
// write your code.
}
}
}
else
{
label1.Text = "File not found at target location !";
}
}
else
{
label1.Text = "Not able to move file from target to source folder";
}
}
catch (Exception ex)
{
ErrorLog(ex.Message.ToString());
}
}
when i use this code i got error "Unable to Connect Remote Server"
ReplyDelete