Sample code for 30+ languages & platforms
Tcl

FTP Download File to a Stream

Demonstrates how to FTP download a file to a Chilkat stream.

Chilkat Tcl Downloads

Tcl

load ./chilkat.dll

set success 0

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

set ftp [new_CkFtp2]

CkFtp2_put_Hostname $ftp "my-ftp-server.com"
CkFtp2_put_Port $ftp 21
CkFtp2_put_Username $ftp "mFtpLogin"
CkFtp2_put_Password $ftp "myFtpPassword"
CkFtp2_put_AuthTls $ftp 1
CkFtp2_put_Passive $ftp 1

# Connect and login to the FTP server using TLS.
set success [CkFtp2_Connect $ftp]
if {$success != 1} then {
    puts [CkFtp2_lastErrorText $ftp]
    delete_CkFtp2 $ftp
    exit
}

# Move to the sub-directory (from the FTP user's home directory) where the file is located.
set success [CkFtp2_ChangeRemoteDir $ftp "temp"]
if {$success == 0} then {
    puts [CkFtp2_lastErrorText $ftp]
    delete_CkFtp2 $ftp
    exit
}

# Stream to this local file:
set streamObj [new_CkStream]

CkStream_put_SinkFile $streamObj "c:/temp/qa_output/penguins2.jpg"

set success [CkFtp2_GetFileToStream $ftp "penguins2.jpg" $streamObj]
if {$success == 0} then {
    puts [CkFtp2_lastErrorText $ftp]
    delete_CkFtp2 $ftp
    delete_CkStream $streamObj
    exit
}

CkFtp2_Disconnect $ftp

puts "Success."

delete_CkFtp2 $ftp
delete_CkStream $streamObj