Visual FoxPro
Visual FoxPro
FTP Download Binary File to a Stream
See more FTP Examples
Demonstrates how to FTP download a binary file to a Chilkat stream.Note: This example requires Chilkat v9.5.0.67 or greater.
Chilkat Visual FoxPro Downloads
LOCAL lnSuccess
LOCAL loFtp
LOCAL loFac
LOCAL loStreamObj
LOCAL t
LOCAL loBd
lnSuccess = 0
* This example assumes the Chilkat FTP2 API to have been previously unlocked.
* See FTP2 Unlock Sample for sample code.
loFtp = CreateObject('Chilkat.Ftp2')
loFtp.Hostname = "www.my-ftp-server.com"
loFtp.Username = "mFtpLogin"
loFtp.Password = "myFtpPassword"
loFtp.AuthTls = 1
loFtp.Passive = 1
* Connect and login to the FTP server using TLS.
lnSuccess = loFtp.Connect()
IF (lnSuccess <> 1) THEN
? loFtp.LastErrorText
RELEASE loFtp
CANCEL
ENDIF
* We'll read the incoming data chunk-by-chunk and write to an output file.
loFac = CreateObject('Chilkat.FileAccess')
lnSuccess = loFac.OpenForWrite("qa_output/penguins2.jpg")
IF (lnSuccess <> 1) THEN
? loFac.LastErrorText
RELEASE loFtp
RELEASE loFac
CANCEL
ENDIF
loStreamObj = CreateObject('Chilkat.Stream')
* Create a task to do the FTP download.
t = loFtp.GetFileToStreamAsync("penguins2.jpg",loStreamObj)
IF (loFtp.LastMethodSuccess <> 1) THEN
? loFtp.LastErrorText
RELEASE loFtp
RELEASE loFac
RELEASE loStreamObj
CANCEL
ENDIF
* Start the task in a background thread.
t.Run()
loBd = CreateObject('Chilkat.BinData')
DO WHILE loStreamObj.EndOfStream <> 1
* Get the next chunk of JPG bytes.
loStreamObj.ReadBd(loBd)
* Do something with it..
* In this simple example, we'll just write to the file.
loFac.FileWriteBd(loBd,0,0)
* Clear for the next read.
loBd.Clear()
ENDDO
loFac.FileClose()
RELEASE t
? "Success."
RELEASE loFtp
RELEASE loFac
RELEASE loStreamObj
RELEASE loBd