Sample code for 30+ languages & platforms
PureBasic

Binary and ASCII FTP Transfer Modes

See more FTP Examples

The SetTypeBinary() and SetTypeAscii() method can be called to change the current transfer mode. The default transfer mode is binary. Once SetTypeAscii() or SetTypeBinary() is called, all subsequent transfers will occur in that mode.

Chilkat PureBasic Downloads

PureBasic
IncludeFile "CkFtp2.pb"

Procedure ChilkatExample()

    success.i = 0

    ; This example requires the Chilkat API to have been previously unlocked.
    ; See Global Unlock Sample for sample code.

    ftp.i = CkFtp2::ckCreate()
    If ftp.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    CkFtp2::setCkHostname(ftp, "ftp.something.com")
    CkFtp2::setCkUsername(ftp, "test")
    CkFtp2::setCkPassword(ftp, "test")

    ; Connect and login to the FTP server.
    success = CkFtp2::ckConnect(ftp)
    If success <> 1
        Debug CkFtp2::ckLastErrorText(ftp)
        CkFtp2::ckDispose(ftp)
        ProcedureReturn
    EndIf

    ; Set the transfer mode to ASCII
    success = CkFtp2::ckSetTypeAscii(ftp)
    If success <> 1
        Debug CkFtp2::ckLastErrorText(ftp)
        CkFtp2::ckDispose(ftp)
        ProcedureReturn
    EndIf

    ; Change to the remote directory where the file will be uploaded.
    success = CkFtp2::ckChangeRemoteDir(ftp,"junk")
    If success <> 1
        Debug CkFtp2::ckLastErrorText(ftp)
        CkFtp2::ckDispose(ftp)
        ProcedureReturn
    EndIf

    ; Upload a file.
    localFilename.s = "hamlet.xml"
    remoteFilename.s = "hamlet.xml"

    ; Turn on session logging for the upload:
    CkFtp2::setCkKeepSessionLog(ftp, 1)

    success = CkFtp2::ckPutFile(ftp,localFilename,remoteFilename)
    If success <> 1
        Debug CkFtp2::ckLastErrorText(ftp)
        CkFtp2::ckDispose(ftp)
        ProcedureReturn
    EndIf

    ; View the session log.  You can verify visually that
    ; the transfer was in ascii mode.
    Debug CkFtp2::ckSessionLog(ftp)

    success = CkFtp2::ckDisconnect(ftp)

    Debug "File Uploaded!"


    CkFtp2::ckDispose(ftp)


    ProcedureReturn
EndProcedure