Sample code for 30+ languages & platforms
Tcl

FTP Upload / Download to StringBuilder

Demonstrate how to upload from a Chilkat StringBuilder object, and download into a StringBuilder object.

Chilkat Tcl Downloads

Tcl

load ./chilkat.dll

set success 0

# This example assumes Chilkat Ftp2 to have been previously unlocked.
# See Unlock Ftp2 for sample code.

set ftp [new_CkFtp2]

CkFtp2_put_Hostname $ftp "www.my-ftp-server.com"
CkFtp2_put_Username $ftp "mFtpLogin"
CkFtp2_put_Password $ftp "myFtpPassword"

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

# Authenticate with the FTP server.
set success [CkFtp2_LoginAfterConnectOnly $ftp]
if {$success != 1} then {
    puts [CkFtp2_lastErrorText $ftp]
    delete_CkFtp2 $ftp
    exit
}

set sbA [new_CkStringBuilder]

CkStringBuilder_LoadFile $sbA "qa_data/hamlet.xml" "utf-8"

# Upload the contents of sbA to the FTP server.
set bIncludeBOM 0
set remoteFilename "hamletFromSb.xml"
set success [CkFtp2_PutFileSb $ftp $sbA "utf-8" $bIncludeBOM $remoteFilename]
if {$success != 1} then {
    puts [CkFtp2_lastErrorText $ftp]
    delete_CkFtp2 $ftp
    delete_CkStringBuilder $sbA
    exit
}

# Download...
set sbB [new_CkStringBuilder]

set success [CkFtp2_GetFileSb $ftp $remoteFilename "utf-8" $sbB]
if {$success != 1} then {
    puts [CkFtp2_lastErrorText $ftp]
    delete_CkFtp2 $ftp
    delete_CkStringBuilder $sbA
    delete_CkStringBuilder $sbB
    exit
}

# Verify that sbA and sbB have the exact same contents.
puts "size of sbA: [CkStringBuilder_get_Length $sbA]"
set bCaseSensitive 1
if {[CkStringBuilder_ContentsEqualSb $sbA $sbB $bCaseSensitive] == 1} then {
    puts "Contents are equal. Success."
} else {
    puts "Contents are NOT equal.  Failed."
}

CkFtp2_Disconnect $ftp

delete_CkFtp2 $ftp
delete_CkStringBuilder $sbA
delete_CkStringBuilder $sbB