Tcl
Tcl
FTP Upload / Download to a BinData Object
Demonstrates how to FTP upload the contents of a BinData object, and FTP downloads to the a BinData object.Chilkat Tcl Downloads
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 bdA [new_CkBinData]
CkBinData_LoadFile $bdA "qa_data/jpg/penguins.jpg"
# Upload the contents of bdA to the FTP server.
set remoteFilename "penguins.jpg"
set success [CkFtp2_PutFileBd $ftp $bdA $remoteFilename]
if {$success != 1} then {
puts [CkFtp2_lastErrorText $ftp]
delete_CkFtp2 $ftp
delete_CkBinData $bdA
exit
}
# Download...
set bdB [new_CkBinData]
set success [CkFtp2_GetFileBd $ftp $remoteFilename $bdB]
if {$success != 1} then {
puts [CkFtp2_lastErrorText $ftp]
delete_CkFtp2 $ftp
delete_CkBinData $bdA
delete_CkBinData $bdB
exit
}
# Verify that bdA and bdB have the exact same contents.
puts "size of bdA: [CkBinData_get_NumBytes $bdA]"
if {[CkBinData_ContentsEqual $bdA $bdB] == 1} then {
puts "Contents are equal. Success."
} else {
puts "Contents are NOT equal. Failed."
}
CkFtp2_Disconnect $ftp
delete_CkFtp2 $ftp
delete_CkBinData $bdA
delete_CkBinData $bdB