Xbase++
Xbase++
Restart/Resume FTP Download
See more FTP Examples
Resume downloading a file from an FTP server.Chilkat Xbase++ Downloads
LOCAL nSuccess
LOCAL oFtp
LOCAL cLocalFilename
LOCAL cRemoteFilename
nSuccess := 0
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
oFtp := CreateObject("Chilkat.Ftp2")
oFtp:Hostname := "ftp.example.com"
oFtp:Username := "login"
oFtp:Password := "password"
// Connect and login to the FTP server.
nSuccess := oFtp:Connect()
IF (nSuccess != 1)
? oFtp:LastErrorText
oFtp:destroy()
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.
nSuccess := oFtp:ChangeRemoteDir("temp")
IF (nSuccess != 1)
? oFtp:LastErrorText
oFtp:destroy()
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.
oFtp:RestartNext := 1
cLocalFilename := "big.zip"
cRemoteFilename := "big.zip"
// Resume downloading...
nSuccess := oFtp:GetFile(cRemoteFilename, cLocalFilename)
IF (nSuccess != 1)
? oFtp:LastErrorText
oFtp:destroy()
RETURN
ENDIF
nSuccess := oFtp:Disconnect()
? "File Downloaded!"
oFtp:destroy()