Sample code for 30+ languages & platforms
C#

FTP Upload with Progress Event Callbacks

See more FTP Examples

FTP upload with progress event callbacks.

Chilkat C# Downloads

C#
// 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 = "my_ftp_username";
    ftp.Password = "my_ftp_password";

    // Connect and login to the FTP server.
    success = ftp.Connect();
    if (success != true) {
        Debug.WriteLine(ftp.LastErrorText);
        return;
    }

    // Change to the remote directory where the file will be uploaded.
    success = ftp.ChangeRemoteDir("junk");
    if (success != true) {
        Debug.WriteLine(ftp.LastErrorText);
        return;
    }

    // Upload a file.
    string localPath = "c:/temp/hamlet.xml";
    string remoteFilename = "hamlet.xml";

    success = ftp.PutFile(localPath,remoteFilename);
    if (success != true) {
        Debug.WriteLine(ftp.LastErrorText);
        return;
    }

    success = ftp.Disconnect();

    Debug.WriteLine("File Uploaded!");

    }