Sample code for 30+ languages & platforms
DataFlex

FTP Download File to a Stream

Demonstrates how to FTP download a file to a Chilkat stream.

Chilkat DataFlex Downloads

DataFlex
Use ChilkatAx-win32.pkg

Procedure Test
    Boolean iSuccess
    Handle hoFtp
    Variant vStreamObj
    Handle hoStreamObj
    String sTemp1

    Move False To iSuccess

    // This example assumes the Chilkat FTP2 API to have been previously unlocked.
    // See FTP2 Unlock Sample for sample code.

    Get Create (RefClass(cComChilkatFtp2)) To hoFtp
    If (Not(IsComObjectCreated(hoFtp))) Begin
        Send CreateComObject of hoFtp
    End

    Set ComHostname Of hoFtp To "my-ftp-server.com"
    Set ComPort Of hoFtp To 21
    Set ComUsername Of hoFtp To "mFtpLogin"
    Set ComPassword Of hoFtp To "myFtpPassword"
    Set ComAuthTls Of hoFtp To True
    Set ComPassive Of hoFtp To True

    // Connect and login to the FTP server using TLS.
    Get ComConnect Of hoFtp To iSuccess
    If (iSuccess <> True) Begin
        Get ComLastErrorText Of hoFtp To sTemp1
        Showln sTemp1
        Procedure_Return
    End

    // Move to the sub-directory (from the FTP user's home directory) where the file is located.
    Get ComChangeRemoteDir Of hoFtp "temp" To iSuccess
    If (iSuccess = False) Begin
        Get ComLastErrorText Of hoFtp To sTemp1
        Showln sTemp1
        Procedure_Return
    End

    // Stream to this local file:
    Get Create (RefClass(cComChilkatStream)) To hoStreamObj
    If (Not(IsComObjectCreated(hoStreamObj))) Begin
        Send CreateComObject of hoStreamObj
    End
    Set ComSinkFile Of hoStreamObj To "c:/temp/qa_output/penguins2.jpg"

    Get pvComObject of hoStreamObj to vStreamObj
    Get ComGetFileToStream Of hoFtp "penguins2.jpg" vStreamObj To iSuccess
    If (iSuccess = False) Begin
        Get ComLastErrorText Of hoFtp To sTemp1
        Showln sTemp1
        Procedure_Return
    End

    Get ComDisconnect Of hoFtp To iSuccess

    Showln "Success."


End_Procedure