Sample code for 30+ languages & platforms
C#

Restart/Resume FTP Download

See more FTP Examples

Resume downloading a file from an FTP server.

Chilkat C# Downloads

C#
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.Hostname = "ftp.example.com";
ftp.Username = "login";
ftp.Password = "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 is located.
//  This step is only necessary if the file is not in the root directory
//  for the FTP account.
success = ftp.ChangeRemoteDir("temp");
if (success != true) {
    Debug.WriteLine(ftp.LastErrorText);
    return;
}

//  To resume a download, it is assumed that the partial file
//  is already present on the local filesystem.
//  You only need to set the RestartNext property to resume
//  the download.  The Chilkat FTP component sets the resume
//  point by getting the existing size of the target (local) file.
ftp.RestartNext = true;

string localFilename = "big.zip";
string remoteFilename = "big.zip";

//  Resume downloading...
success = ftp.GetFile(remoteFilename,localFilename);
if (success != true) {
    Debug.WriteLine(ftp.LastErrorText);
    return;
}

success = ftp.Disconnect();

Debug.WriteLine("File Downloaded!");