Go
Go
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 Go Downloads
success := false
// This example assumes Chilkat Ftp2 to have been previously unlocked.
// See Unlock Ftp2 for sample code.
ftp := chilkat.NewFtp2()
ftp.SetHostname("www.my-ftp-server.com")
ftp.SetUsername("mFtpLogin")
ftp.SetPassword("myFtpPassword")
// Connect to the FTP server.
success = ftp.ConnectOnly()
if success != true {
fmt.Println(ftp.LastErrorText())
ftp.DisposeFtp2()
return
}
// Authenticate with the FTP server.
success = ftp.LoginAfterConnectOnly()
if success != true {
fmt.Println(ftp.LastErrorText())
ftp.DisposeFtp2()
return
}
bdA := chilkat.NewBinData()
bdA.LoadFile("qa_data/jpg/penguins.jpg")
// Upload the contents of bdA to the FTP server.
remoteFilename := "penguins.jpg"
success = ftp.PutFileBd(bdA,remoteFilename)
if success != true {
fmt.Println(ftp.LastErrorText())
ftp.DisposeFtp2()
bdA.DisposeBinData()
return
}
// Download...
bdB := chilkat.NewBinData()
success = ftp.GetFileBd(remoteFilename,bdB)
if success != true {
fmt.Println(ftp.LastErrorText())
ftp.DisposeFtp2()
bdA.DisposeBinData()
bdB.DisposeBinData()
return
}
// Verify that bdA and bdB have the exact same contents.
fmt.Println("size of bdA: ", bdA.NumBytes())
if bdA.ContentsEqual(bdB) == true {
fmt.Println("Contents are equal. Success.")
} else {
fmt.Println("Contents are NOT equal. Failed.")
}
ftp.Disconnect()
ftp.DisposeFtp2()
bdA.DisposeBinData()
bdB.DisposeBinData()