Visual FoxPro
Visual FoxPro
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 Visual FoxPro Downloads
LOCAL lnSuccess
LOCAL loSftp
LOCAL lnPort
LOCAL loBdA
LOCAL lcRemotePath
LOCAL loBdB
lnSuccess = 0
* This example requires the Chilkat API to have been previously unlocked.
* See Global Unlock Sample for sample code.
loSftp = CreateObject('Chilkat.SFtp')
* Set some timeouts, in milliseconds:
loSftp.ConnectTimeoutMs = 5000
loSftp.IdleTimeoutMs = 10000
* Connect to the SSH server and then authenticate.
lnPort = 22
lnSuccess = loSftp.Connect("MY-SSH-SERVER-DOMAIN-OR-IP",lnPort)
IF (lnSuccess = 1) THEN
lnSuccess = loSftp.AuthenticatePw("MY-SSH-LOGIN","MY-SSH-PASSWORD")
IF (lnSuccess = 1) THEN
lnSuccess = loSftp.InitializeSftp()
ENDIF
ENDIF
IF (lnSuccess <> 1) THEN
? loSftp.LastErrorText
RELEASE loSftp
CANCEL
ENDIF
loBdA = CreateObject('Chilkat.BinData')
loBdA.LoadFile("qa_data/jpg/penguins.jpg")
* Upload the contents of bdA to the SSH/SFTP server.
lcRemotePath = "sftpTesting/penguins.jpg"
lnSuccess = loSftp.UploadBd(loBdA,lcRemotePath)
IF (lnSuccess <> 1) THEN
? loSftp.LastErrorText
RELEASE loSftp
RELEASE loBdA
CANCEL
ENDIF
* Download the file..
loBdB = CreateObject('Chilkat.BinData')
lnSuccess = loSftp.DownloadBd(lcRemotePath,loBdB)
IF (lnSuccess <> 1) THEN
? loSftp.LastErrorText
RELEASE loSftp
RELEASE loBdA
RELEASE loBdB
CANCEL
ENDIF
* Verify that bdA and bdB have the exact same contents.
? "size of bdA: " + STR(loBdA.NumBytes)
IF (loBdA.ContentsEqual(loBdB) = 1) THEN
? "Contents are equal. Success."
ELSE
? "Contents are NOT equal. Failed."
ENDIF
loSftp.Disconnect()
RELEASE loSftp
RELEASE loBdA
RELEASE loBdB