Sample code for 30+ languages & platforms
PureBasic

Box.com Download Binary File to Memory

See more Box Examples

Retrieves the actual data of the file into a memory (not to a local file).

Chilkat PureBasic Downloads

PureBasic
IncludeFile "CkBinData.pb"
IncludeFile "CkHttp.pb"

Procedure ChilkatExample()

    success.i = 0

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

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

    CkHttp::setCkKeepResponseBody(http, 1)

    ; Provide a previously obtained OAuth2 access token.
    ; See Get Box OAuth2 Access Token.
    CkHttp::setCkAuthToken(http, "BOX_ACCESS_TOKEN")

    CkHttp::setCkFollowRedirects(http, 1)

    ; The file is specified by the file ID.
    ; In this case, we're downloading a file with FILE_ID = 283371752129.
    ; The general form of the URL for downloading is: https://api.box.com/2.0/files/FILE_ID/content
    bd.i = CkBinData::ckCreate()
    If bd.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    success = CkHttp::ckDownloadBd(http,"https://api.box.com/2.0/files/283371752129/content",bd)
    statusCode.i = CkHttp::ckLastStatus(http)
    If success = 0
        If statusCode = 0
            ; Unable to either send the request or get the response.
            Debug CkHttp::ckLastErrorText(http)
        Else
            ; We got a response, but the status code was not in the 200s
            Debug "Response status code: " + Str(statusCode)
            ; Examine the response body.
            Debug "Response body:"
            Debug CkHttp::ckLastResponseBody(http)
        EndIf

        Debug "Download failed."

    Else
        Debug "Downloaded tigers.jpeg into an object holding the binary data."

        Debug "Number of bytes: " + Str(CkBinData::ckNumBytes(bd))
    EndIf



    CkHttp::ckDispose(http)
    CkBinData::ckDispose(bd)


    ProcedureReturn
EndProcedure