Xbase++
Xbase++
Initiate Resumable Upload Session
See more Google Cloud Storage Examples
Initiate a Google Cloud Storage resumable upload session..Chilkat Xbase++ Downloads
LOCAL nSuccess
LOCAL oHttp
LOCAL oJsonToken
LOCAL oJsonMetaData
LOCAL cUrl
LOCAL oResp
LOCAL nStatusCode
LOCAL cSessionUrl
nSuccess := 0
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
oHttp := CreateObject("Chilkat.Http")
oJsonToken := CreateObject("Chilkat.JsonObject")
nSuccess := oJsonToken:LoadFile("qa_data/tokens/googleCloudStorage.json")
IF (nSuccess == 0)
? oJsonToken:LastErrorText
oHttp:destroy()
oJsonToken:destroy()
RETURN
ENDIF
oJsonMetaData := CreateObject("Chilkat.JsonObject")
oJsonMetaData:UpdateString("contentType", "image/jpeg")
// Adds the "Authorization: Bearer <access_token>" header..
oHttp:AuthToken := oJsonToken:StringOf("access_token")
oHttp:SetUrlVar("bucket_name", "chilkat-bucket-b")
oHttp:SetUrlVar("object_name", "penguins2.jpg")
cUrl := "https://storage.googleapis.com/upload/storage/v1/b/{$bucket_name}/o?uploadType=resumable&name={$object_name}"
oResp := CreateObject("Chilkat.HttpResponse")
nSuccess := oHttp:HttpJson("POST", cUrl, oJsonMetaData, "application/json", oResp)
IF (nSuccess == 0)
? oHttp:LastErrorText
oHttp:destroy()
oJsonToken:destroy()
oJsonMetaData:destroy()
oResp:destroy()
RETURN
ENDIF
nStatusCode := oResp:StatusCode
? "response status code = " + Str(nStatusCode)
cSessionUrl := ""
IF (nStatusCode != 200)
? oResp:BodyStr
ELSE
// The session URL will be used to upload the file in chunks, in subsequent HTTP POSTs...
cSessionUrl := oResp:GetHeaderField("Location")
? "Session URL = " + cSessionUrl
ENDIF
oHttp:destroy()
oJsonToken:destroy()
oJsonMetaData:destroy()
oResp:destroy()