Sample code for 30+ languages & platforms
Swift

Restart/Resume FTP Download

See more FTP Examples

Resume downloading a file from an FTP server.

Chilkat Swift Downloads

Swift

func chilkatTest() {
    var success: Bool = false

    // This example requires the Chilkat API to have been previously unlocked.
    // See Global Unlock Sample for sample code.

    let ftp = CkoFtp2()!

    ftp.hostname = "ftp.example.com"
    ftp.username = "login"
    ftp.password = "password"

    // Connect and login to the FTP server.
    success = ftp.connect()
    if success != true {
        print("\(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(relativeDirPath: "temp")
    if success != true {
        print("\(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

    var localFilename: String? = "big.zip"
    var remoteFilename: String? = "big.zip"

    // Resume downloading...
    success = ftp.getFile(remoteFilename: remoteFilename, localPath: localFilename)
    if success != true {
        print("\(ftp.lastErrorText!)")
        return
    }

    success = ftp.disconnect()

    print("File Downloaded!")

}