Sample code for 30+ languages & platforms
CkPython

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 CkPython Downloads

CkPython
import sys
import chilkat

success = False

# This example assumes the Chilkat FTP2 API to have been previously unlocked.
# See FTP2 Unlock Sample for sample code.

ftp = chilkat.CkFtp2()

ftp.put_Hostname("www.my-ftp-server.com")
ftp.put_Username("mFtpLogin")
ftp.put_Password("myFtpPassword")
ftp.put_AuthTls(True)
ftp.put_Passive(True)

# Connect and login to the FTP server using TLS.
success = ftp.Connect()
if (success != True):
    print(ftp.lastErrorText())
    sys.exit()

# We'll read the incoming data chunk-by-chunk and write to an output file.
fac = chilkat.CkFileAccess()
success = fac.OpenForWrite("qa_output/penguins2.jpg")
if (success != True):
    print(fac.lastErrorText())
    sys.exit()

streamObj = chilkat.CkStream()

# Create a task to do the FTP download.
# t is a CkTask
t = ftp.GetFileToStreamAsync("penguins2.jpg",streamObj)
if (ftp.get_LastMethodSuccess() != True):
    print(ftp.lastErrorText())
    sys.exit()

# Start the task in a background thread.
t.Run()

bd = chilkat.CkBinData()
while streamObj.get_EndOfStream() != True :
    # Get the next chunk of JPG bytes.
    streamObj.ReadBd(bd)
    # Do something with it..
    # In this simple example, we'll just write to the file.
    fac.FileWriteBd(bd,0,0)
    # Clear for the next read.
    bd.Clear()

fac.FileClose()

print("Success.")