DataFlex
DataFlex
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 DataFlex Downloads
Use ChilkatAx-win32.pkg
Procedure Test
Boolean iSuccess
Handle hoFtp
Variant vBdA
Handle hoBdA
String sRemoteFilename
Variant vBdB
Handle hoBdB
String sTemp1
Integer iTemp1
Boolean bTemp1
Move False To iSuccess
// This example assumes Chilkat Ftp2 to have been previously unlocked.
// See Unlock Ftp2 for sample code.
Get Create (RefClass(cComChilkatFtp2)) To hoFtp
If (Not(IsComObjectCreated(hoFtp))) Begin
Send CreateComObject of hoFtp
End
Set ComHostname Of hoFtp To "www.my-ftp-server.com"
Set ComUsername Of hoFtp To "mFtpLogin"
Set ComPassword Of hoFtp To "myFtpPassword"
// Connect to the FTP server.
Get ComConnectOnly Of hoFtp To iSuccess
If (iSuccess <> True) Begin
Get ComLastErrorText Of hoFtp To sTemp1
Showln sTemp1
Procedure_Return
End
// Authenticate with the FTP server.
Get ComLoginAfterConnectOnly Of hoFtp To iSuccess
If (iSuccess <> True) Begin
Get ComLastErrorText Of hoFtp 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 FTP server.
Move "penguins.jpg" To sRemoteFilename
Get pvComObject of hoBdA to vBdA
Get ComPutFileBd Of hoFtp vBdA sRemoteFilename To iSuccess
If (iSuccess <> True) Begin
Get ComLastErrorText Of hoFtp To sTemp1
Showln sTemp1
Procedure_Return
End
// Download...
Get Create (RefClass(cComChilkatBinData)) To hoBdB
If (Not(IsComObjectCreated(hoBdB))) Begin
Send CreateComObject of hoBdB
End
Get pvComObject of hoBdB to vBdB
Get ComGetFileBd Of hoFtp sRemoteFilename vBdB To iSuccess
If (iSuccess <> True) Begin
Get ComLastErrorText Of hoFtp 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
Get ComDisconnect Of hoFtp To iSuccess
End_Procedure