Go
Go
Initiate Resumable Upload Session
See more Google Cloud Storage Examples
Initiate a Google Cloud Storage resumable upload session..Chilkat Go Downloads
success := false
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
http := chilkat.NewHttp()
jsonToken := chilkat.NewJsonObject()
success = jsonToken.LoadFile("qa_data/tokens/googleCloudStorage.json")
if success == false {
fmt.Println(jsonToken.LastErrorText())
http.DisposeHttp()
jsonToken.DisposeJsonObject()
return
}
jsonMetaData := chilkat.NewJsonObject()
jsonMetaData.UpdateString("contentType","image/jpeg")
// Adds the "Authorization: Bearer <access_token>" header..
http.SetAuthToken(jsonToken.StringOf("access_token"))
http.SetUrlVar("bucket_name","chilkat-bucket-b")
http.SetUrlVar("object_name","penguins2.jpg")
url := "https://storage.googleapis.com/upload/storage/v1/b/{$bucket_name}/o?uploadType=resumable&name={$object_name}"
resp := chilkat.NewHttpResponse()
success = http.HttpJson("POST",url,jsonMetaData,"application/json",resp)
if success == false {
fmt.Println(http.LastErrorText())
http.DisposeHttp()
jsonToken.DisposeJsonObject()
jsonMetaData.DisposeJsonObject()
resp.DisposeHttpResponse()
return
}
statusCode := resp.StatusCode()
fmt.Println("response status code = ", statusCode)
var sessionUrl *string = new(string)
*sessionUrl = ""
if statusCode != 200 {
fmt.Println(resp.BodyStr())
} else {
// The session URL will be used to upload the file in chunks, in subsequent HTTP POSTs...
sessionUrl = resp.GetHeaderField("Location")
fmt.Println("Session URL = ", *sessionUrl)
}
http.DisposeHttp()
jsonToken.DisposeJsonObject()
jsonMetaData.DisposeJsonObject()
resp.DisposeHttpResponse()