DataFlex
DataFlex
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 DataFlex Downloads
Use ChilkatAx-win32.pkg
Procedure Test
Boolean iSuccess
Handle hoSftp
Integer iPort
Variant vBdA
Handle hoBdA
String sRemotePath
Variant vBdB
Handle hoBdB
String sTemp1
Integer iTemp1
Boolean bTemp1
Move False To iSuccess
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
Get Create (RefClass(cComChilkatSFtp)) To hoSftp
If (Not(IsComObjectCreated(hoSftp))) Begin
Send CreateComObject of hoSftp
End
// Set some timeouts, in milliseconds:
Set ComConnectTimeoutMs Of hoSftp To 5000
Set ComIdleTimeoutMs Of hoSftp To 10000
// Connect to the SSH server and then authenticate.
Move 22 To iPort
Get ComConnect Of hoSftp "MY-SSH-SERVER-DOMAIN-OR-IP" iPort To iSuccess
If (iSuccess = True) Begin
Get ComAuthenticatePw Of hoSftp "MY-SSH-LOGIN" "MY-SSH-PASSWORD" To iSuccess
If (iSuccess = True) Begin
Get ComInitializeSftp Of hoSftp To iSuccess
End
End
If (iSuccess <> True) Begin
Get ComLastErrorText Of hoSftp To sTemp1
Showln sTemp1
Procedure_Return
End
Get Create (RefClass(cComChilkatBinData)) To hoBdA
If (Not(IsComObjectCreated(hoBdA))) Begin
Send CreateComObject of hoBdA
End
Get ComLoadFile Of hoBdA "qa_data/jpg/penguins.jpg" To iSuccess
// Upload the contents of bdA to the SSH/SFTP server.
Move "sftpTesting/penguins.jpg" To sRemotePath
Get pvComObject of hoBdA to vBdA
Get ComUploadBd Of hoSftp vBdA sRemotePath To iSuccess
If (iSuccess <> True) Begin
Get ComLastErrorText Of hoSftp To sTemp1
Showln sTemp1
Procedure_Return
End
// Download the file..
Get Create (RefClass(cComChilkatBinData)) To hoBdB
If (Not(IsComObjectCreated(hoBdB))) Begin
Send CreateComObject of hoBdB
End
Get pvComObject of hoBdB to vBdB
Get ComDownloadBd Of hoSftp sRemotePath vBdB To iSuccess
If (iSuccess <> True) Begin
Get ComLastErrorText Of hoSftp To sTemp1
Showln sTemp1
Procedure_Return
End
// Verify that bdA and bdB have the exact same contents.
Get ComNumBytes Of hoBdA To iTemp1
Showln "size of bdA: " iTemp1
Get ComContentsEqual Of hoBdA Get pvComObject of hoBdB to vBdB
vBdB To bTemp1
If (bTemp1 = True) Begin
Showln "Contents are equal. Success."
End
Else Begin
Showln "Contents are NOT equal. Failed."
End
Send ComDisconnect To hoSftp
End_Procedure