Sample code for 30+ languages & platforms
Lianja

Restart/Resume FTP Download

See more FTP Examples

Resume downloading a file from an FTP server.

Chilkat Lianja Downloads

Lianja
llSuccess = .F.

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

loFtp = createobject("CkFtp2")

loFtp.Hostname = "ftp.example.com"
loFtp.Username = "login"
loFtp.Password = "password"

// Connect and login to the FTP server.
llSuccess = loFtp.Connect()
if (llSuccess <> .T.) then
    ? loFtp.LastErrorText
    release loFtp
    return
endif

// 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.
llSuccess = loFtp.ChangeRemoteDir("temp")
if (llSuccess <> .T.) then
    ? loFtp.LastErrorText
    release loFtp
    return
endif

// 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.
loFtp.RestartNext = .T.

lcLocalFilename = "big.zip"
lcRemoteFilename = "big.zip"

// Resume downloading...
llSuccess = loFtp.GetFile(lcRemoteFilename,lcLocalFilename)
if (llSuccess <> .T.) then
    ? loFtp.LastErrorText
    release loFtp
    return
endif

llSuccess = loFtp.Disconnect()

? "File Downloaded!"


release loFtp