Go
Go
FTP Upload / Download to StringBuilder
Demonstrate how to upload from a Chilkat StringBuilder object, and download into a StringBuilder 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
}
sbA := chilkat.NewStringBuilder()
sbA.LoadFile("qa_data/hamlet.xml","utf-8")
// Upload the contents of sbA to the FTP server.
bIncludeBOM := false
remoteFilename := "hamletFromSb.xml"
success = ftp.PutFileSb(sbA,"utf-8",bIncludeBOM,remoteFilename)
if success != true {
fmt.Println(ftp.LastErrorText())
ftp.DisposeFtp2()
sbA.DisposeStringBuilder()
return
}
// Download...
sbB := chilkat.NewStringBuilder()
success = ftp.GetFileSb(remoteFilename,"utf-8",sbB)
if success != true {
fmt.Println(ftp.LastErrorText())
ftp.DisposeFtp2()
sbA.DisposeStringBuilder()
sbB.DisposeStringBuilder()
return
}
// Verify that sbA and sbB have the exact same contents.
fmt.Println("size of sbA: ", sbA.Length())
bCaseSensitive := true
if sbA.ContentsEqualSb(sbB,bCaseSensitive) == true {
fmt.Println("Contents are equal. Success.")
} else {
fmt.Println("Contents are NOT equal. Failed.")
}
ftp.Disconnect()
ftp.DisposeFtp2()
sbA.DisposeStringBuilder()
sbB.DisposeStringBuilder()