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
(Tcl) S3 Upload Binary File from BinDataSee more Amazon S3 (new) ExamplesUpload a binary file contained in a BinData object to Amazon S3.
load ./chilkat.dll # This example requires the Chilkat API to have been previously unlocked. # See Global Unlock Sample for sample code. set rest [new_CkRest] # Connect to the Amazon AWS REST server. set bTls 1 set port 443 set bAutoReconnect 1 # Make sure to connect to the region where the bucket is located.. set success [CkRest_Connect $rest "s3-us-west-2.amazonaws.com" $port $bTls $bAutoReconnect] # Provide AWS credentials for the REST call. set authAws [new_CkAuthAws] CkAuthAws_put_AccessKey $authAws "AWS_ACCESS_KEY" CkAuthAws_put_SecretKey $authAws "AWS_SECRET_KEY" # Use the correct region.. CkAuthAws_put_Region $authAws "us-west-2" CkAuthAws_put_ServiceName $authAws "s3" set success [CkRest_SetAuthAws $rest $authAws] # Set the bucket name via the HOST header. # In this case, the bucket name is "chilkat.qa". # (Also make sure to use the correct region.) CkRest_put_Host $rest "chilkat.qa.s3-us-west-2.amazonaws.com" # Load a text file into memory. set pngData [new_CkBinData] set success [CkBinData_LoadFile $pngData "qa_data/png/anemone.png"] if {$success != 1} then { puts "Failed to load file from local filesystem." delete_CkRest $rest delete_CkAuthAws $authAws delete_CkBinData $pngData exit } # Indicate the Content-Type of our upload. (This is optional) CkRest_AddHeader $rest "Content-Type" "image/png" # Upload the file to Amazon S3. set sbResponse [new_CkStringBuilder] set success [CkRest_FullRequestBd $rest "PUT" "/images/sea_creatures/anemone.png" $pngData $sbResponse] if {$success != 1} then { puts [CkRest_lastErrorText $rest] delete_CkRest $rest delete_CkAuthAws $authAws delete_CkBinData $pngData delete_CkStringBuilder $sbResponse exit } # Did we get a 200 response indicating success? set statusCode [CkRest_get_ResponseStatusCode $rest] if {$statusCode != 200} then { puts "Error response: [CkStringBuilder_getAsString $sbResponse]" puts "Status code: $statusCode, Status text: [CkRest_responseStatusText $rest]" delete_CkRest $rest delete_CkAuthAws $authAws delete_CkBinData $pngData delete_CkStringBuilder $sbResponse exit } puts "File successfully uploaded." delete_CkRest $rest delete_CkAuthAws $authAws delete_CkBinData $pngData delete_CkStringBuilder $sbResponse |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.