Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(DataFlex) Upload File to Google Cloud StorageSee more Google Cloud Storage ExamplesDemonstrates how to upload a file to Google Cloud Storage.
Use ChilkatAx-win32.pkg Procedure Test Handle hoJsonToken Boolean iSuccess Handle hoHttp Handle hoSbPath Integer iNumReplaced Variant vReq Handle hoReq Variant vResp Handle hoResp Integer iResponseCode String sTemp1 Boolean bTemp1 // This example requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. // This example uses a previously obtained access token having permission for the // scope "https://www.googleapis.com/auth/cloud-platform" Get Create (RefClass(cComChilkatJsonObject)) To hoJsonToken If (Not(IsComObjectCreated(hoJsonToken))) Begin Send CreateComObject of hoJsonToken End Get ComLoadFile Of hoJsonToken "qa_data/tokens/googleCloudStorage.json" To iSuccess If (iSuccess = False) Begin Get ComLastErrorText Of hoJsonToken To sTemp1 Showln sTemp1 Procedure_Return End // Send a POST equivalent to this curl command. // The content of the file is contained in the request body. // curl -X POST --data-binary @[OBJECT] \ // -H "Authorization: Bearer [OAUTH2_TOKEN]" \ // -H "Content-Type: [OBJECT_CONTENT_TYPE]" \ // "https://www.googleapis.com/upload/storage/v1/b/[BUCKET_NAME]/o?uploadType=media&name=[OBJECT_NAME]" Get Create (RefClass(cComChilkatHttp)) To hoHttp If (Not(IsComObjectCreated(hoHttp))) Begin Send CreateComObject of hoHttp End Get ComStringOf Of hoJsonToken "access_token" To sTemp1 Set ComAuthToken Of hoHttp To sTemp1 Get Create (RefClass(cComChilkatStringBuilder)) To hoSbPath If (Not(IsComObjectCreated(hoSbPath))) Begin Send CreateComObject of hoSbPath End Get ComAppend Of hoSbPath "/upload/storage/v1/b/bucket_name/o?uploadType=media&name=object_name" To iSuccess Get ComReplace Of hoSbPath "bucket_name" "chilkat-bucket-b" To iNumReplaced Get ComReplace Of hoSbPath "object_name" "penguins.jpg" To iNumReplaced Get Create (RefClass(cComChilkatHttpRequest)) To hoReq If (Not(IsComObjectCreated(hoReq))) Begin Send CreateComObject of hoReq End Set ComHttpVerb Of hoReq To "POST" Get ComGetAsString Of hoSbPath To sTemp1 Set ComPath Of hoReq To sTemp1 Set ComContentType Of hoReq To "image/jpeg" // Indicate the file to be streamed in the request body when the HTTP POST is sent. Get ComStreamBodyFromFile Of hoReq "qa_data/jpg/penguins.jpg" To iSuccess Get pvComObject of hoReq to vReq Get ComSynchronousRequest Of hoHttp "www.googleapis.com" 443 True vReq To vResp If (IsComObject(vResp)) Begin Get Create (RefClass(cComChilkatHttpResponse)) To hoResp Set pvComObject Of hoResp To vResp End Get ComLastMethodSuccess Of hoHttp To bTemp1 If (bTemp1 = False) Begin Get ComLastErrorText Of hoHttp To sTemp1 Showln sTemp1 Procedure_Return End Get ComStatusCode Of hoResp To iResponseCode If (iResponseCode = 401) Begin Get ComBodyStr Of hoResp To sTemp1 Showln sTemp1 Showln "If invalid credentials, then it is likely the access token expired." Showln "Your app should automatically fetch a new access token and re-try." Send Destroy of hoResp Procedure_Return End Showln "Response code: " iResponseCode Showln "Response body" Get ComBodyStr Of hoResp To sTemp1 Showln sTemp1 // A successful response looks like this: // Response code: 200 // Response body // { // "kind": "storage#object", // "id": "chilkat-ocean/penguins.jpg/1502643657837855", // "selfLink": "https://www.googleapis.com/storage/v1/b/chilkat-ocean/o/penguins.jpg", // "name": "penguins.jpg", // "bucket": "chilkat-ocean", // "generation": "1502643657837855", // "metageneration": "1", // "contentType": "image/jpeg", // "timeCreated": "2017-08-13T17:00:57.811Z", // "updated": "2017-08-13T17:00:57.811Z", // "storageClass": "MULTI_REGIONAL", // "timeStorageClassUpdated": "2017-08-13T17:00:57.811Z", // "size": "777835", // "md5Hash": "nTd7EM53jEk4s8fixjoimg==", // "mediaLink": "https://www.googleapis.com/download/storage/v1/b/chilkat-ocean/o/penguins.jpg?generation=1502643657837855&alt=media", // "crc32c": "ixxYVw==", // "etag": "CJ+azOvX1NUCEAE=" // } Send Destroy of hoResp End_Procedure |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.