Sample code for 30+ languages & platforms
Visual FoxPro

Initiate Resumable Upload Session

See more Google Cloud Storage Examples

Initiate a Google Cloud Storage resumable upload session..

Chilkat Visual FoxPro Downloads

Visual FoxPro
LOCAL lnSuccess
LOCAL loHttp
LOCAL loJsonToken
LOCAL loJsonMetaData
LOCAL lcUrl
LOCAL loResp
LOCAL lnStatusCode
LOCAL lcSessionUrl

lnSuccess = 0

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

loHttp = CreateObject('Chilkat.Http')

loJsonToken = CreateObject('Chilkat.JsonObject')
lnSuccess = loJsonToken.LoadFile("qa_data/tokens/googleCloudStorage.json")
IF (lnSuccess = 0) THEN
    ? loJsonToken.LastErrorText
    RELEASE loHttp
    RELEASE loJsonToken
    CANCEL
ENDIF

loJsonMetaData = CreateObject('Chilkat.JsonObject')
loJsonMetaData.UpdateString("contentType","image/jpeg")

* Adds the "Authorization: Bearer <access_token>" header..
loHttp.AuthToken = loJsonToken.StringOf("access_token")

loHttp.SetUrlVar("bucket_name","chilkat-bucket-b")
loHttp.SetUrlVar("object_name","penguins2.jpg")
lcUrl = "https://storage.googleapis.com/upload/storage/v1/b/{$bucket_name}/o?uploadType=resumable&name={$object_name}"
loResp = CreateObject('Chilkat.HttpResponse')
lnSuccess = loHttp.HttpJson("POST",lcUrl,loJsonMetaData,"application/json",loResp)
IF (lnSuccess = 0) THEN
    ? loHttp.LastErrorText
    RELEASE loHttp
    RELEASE loJsonToken
    RELEASE loJsonMetaData
    RELEASE loResp
    CANCEL
ENDIF

lnStatusCode = loResp.StatusCode
? "response status code = " + STR(lnStatusCode)

lcSessionUrl = ""

IF (lnStatusCode <> 200) THEN
    ? loResp.BodyStr
ELSE
    * The session URL will be used to upload the file in chunks, in subsequent HTTP POSTs...
    lcSessionUrl = loResp.GetHeaderField("Location")
    ? "Session URL = " + lcSessionUrl
ENDIF

RELEASE loHttp
RELEASE loJsonToken
RELEASE loJsonMetaData
RELEASE loResp