PowerBuilder
PowerBuilder
SFTP Upload and Download to a BinData Object
See more SFTP Examples
Demonstrates how to SFTP upload from a BinData object, and download into a BinData object.Chilkat PowerBuilder Downloads
integer li_rc
integer li_Success
oleobject loo_Sftp
integer li_Port
oleobject loo_BdA
string ls_RemotePath
oleobject loo_BdB
li_Success = 0
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
loo_Sftp = create oleobject
li_rc = loo_Sftp.ConnectToNewObject("Chilkat.SFtp")
if li_rc < 0 then
destroy loo_Sftp
MessageBox("Error","Connecting to COM object failed")
return
end if
// Set some timeouts, in milliseconds:
loo_Sftp.ConnectTimeoutMs = 5000
loo_Sftp.IdleTimeoutMs = 10000
// Connect to the SSH server and then authenticate.
li_Port = 22
li_Success = loo_Sftp.Connect("MY-SSH-SERVER-DOMAIN-OR-IP",li_Port)
if li_Success = 1 then
li_Success = loo_Sftp.AuthenticatePw("MY-SSH-LOGIN","MY-SSH-PASSWORD")
if li_Success = 1 then
li_Success = loo_Sftp.InitializeSftp()
end if
end if
if li_Success <> 1 then
Write-Debug loo_Sftp.LastErrorText
destroy loo_Sftp
return
end if
loo_BdA = create oleobject
li_rc = loo_BdA.ConnectToNewObject("Chilkat.BinData")
loo_BdA.LoadFile("qa_data/jpg/penguins.jpg")
// Upload the contents of bdA to the SSH/SFTP server.
ls_RemotePath = "sftpTesting/penguins.jpg"
li_Success = loo_Sftp.UploadBd(loo_BdA,ls_RemotePath)
if li_Success <> 1 then
Write-Debug loo_Sftp.LastErrorText
destroy loo_Sftp
destroy loo_BdA
return
end if
// Download the file..
loo_BdB = create oleobject
li_rc = loo_BdB.ConnectToNewObject("Chilkat.BinData")
li_Success = loo_Sftp.DownloadBd(ls_RemotePath,loo_BdB)
if li_Success <> 1 then
Write-Debug loo_Sftp.LastErrorText
destroy loo_Sftp
destroy loo_BdA
destroy loo_BdB
return
end if
// Verify that bdA and bdB have the exact same contents.
Write-Debug "size of bdA: " + string(loo_BdA.NumBytes)
if loo_BdA.ContentsEqual(loo_BdB) = 1 then
Write-Debug "Contents are equal. Success."
else
Write-Debug "Contents are NOT equal. Failed."
end if
loo_Sftp.Disconnect()
destroy loo_Sftp
destroy loo_BdA
destroy loo_BdB