C++
C++
Initiate Resumable Upload Session
See more Google Cloud Storage Examples
Initiate a Google Cloud Storage resumable upload session..Chilkat C++ Downloads
#include <CkHttp.h>
#include <CkJsonObject.h>
#include <CkHttpResponse.h>
void ChilkatSample(void)
{
bool success = false;
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
CkHttp http;
CkJsonObject jsonToken;
success = jsonToken.LoadFile("qa_data/tokens/googleCloudStorage.json");
if (success == false) {
std::cout << jsonToken.lastErrorText() << "\r\n";
return;
}
CkJsonObject jsonMetaData;
jsonMetaData.UpdateString("contentType","image/jpeg");
// Adds the "Authorization: Bearer <access_token>" header..
http.put_AuthToken(jsonToken.stringOf("access_token"));
http.SetUrlVar("bucket_name","chilkat-bucket-b");
http.SetUrlVar("object_name","penguins2.jpg");
const char *url = "https://storage.googleapis.com/upload/storage/v1/b/{$bucket_name}/o?uploadType=resumable&name={$object_name}";
CkHttpResponse resp;
success = http.HttpJson("POST",url,jsonMetaData,"application/json",resp);
if (success == false) {
std::cout << http.lastErrorText() << "\r\n";
return;
}
int statusCode = resp.get_StatusCode();
std::cout << "response status code = " << statusCode << "\r\n";
const char *sessionUrl = "";
if (statusCode != 200) {
std::cout << resp.bodyStr() << "\r\n";
}
else {
// The session URL will be used to upload the file in chunks, in subsequent HTTP POSTs...
sessionUrl = resp.getHeaderField("Location");
std::cout << "Session URL = " << sessionUrl << "\r\n";
}
}