C#
C#
FTP Download with Progress Event Callbacks
See more FTP Examples
FTP download with progress event callbacks.Chilkat C# Downloads
// PercentDone callback method.
private void ftp_OnPercentDone(object sender, Chilkat.PercentDoneEventArgs args)
{
int percentDone = args.PercentDone;
Debug.WriteLine("Percent Done: " + Convert.ToString(percentDone));
}
// ProgressInfo callback method.
private void ftp_OnProgressInfo(object sender, Chilkat.ProgressInfoEventArgs args)
{
string name = args.Name;
string value = args.Value;
Debug.WriteLine(name + ": " + value);
}
private void ChilkatExample()
{
bool success = false;
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
Chilkat.Ftp2 ftp = new Chilkat.Ftp2();
ftp.OnPercentDone += ftp_OnPercentDone;
ftp.OnProgressInfo += ftp_OnProgressInfo;
ftp.Hostname = "ftp.someFtpServer.com";
ftp.Username = "myLogin";
ftp.Password = "myPassword";
// Connect and login to the FTP server.
success = ftp.ConnectOnly();
if (success != true) {
Debug.WriteLine(ftp.LastErrorText);
return;
}
success = ftp.LoginAfterConnectOnly();
if (success != true) {
Debug.WriteLine(ftp.LastErrorText);
return;
}
// Change to the remote directory where the file is located.
// This step is only necessary if the file is not in the home directory
// of the FTP account.
success = ftp.ChangeRemoteDir("junk");
if (success != true) {
Debug.WriteLine(ftp.LastErrorText);
return;
}
string localFilename = "c:/temp/hamlet.xml";
string remoteFilename = "hamlet.xml";
// Ensure that we get PercentDone callbacks.
ftp.AutoGetSizeForProgress = true;
// Download the file.
success = ftp.GetFile(remoteFilename,localFilename);
if (success != true) {
Debug.WriteLine(ftp.LastErrorText);
return;
}
success = ftp.Disconnect();
Debug.WriteLine("File Downloaded!");
}