Sample code for 30+ languages & platforms
Delphi DLL

OSS Upload String (Alibaba Cloud)

See more Alibaba Cloud OSS Examples

Demonstrates how to upload the contents of a string to an AliCloud OSS bucket.

The Chilkat S3 functions in the HTTP class are compatible with Alibaba Cloud's OSS service.

Chilkat Delphi DLL Downloads

Delphi DLL
uses
    Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
    Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Xml, Http;

...

procedure TForm1.Button1Click(Sender: TObject);
var
success: Boolean;
http: HCkHttp;
bucketName: PWideChar;
objectName: PWideChar;
contentType: PWideChar;
jsonStr: PWideChar;
charset: PWideChar;
xml: HCkXml;

begin
success := False;

// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.

http := CkHttp_Create();

// Insert your AccessKey ID here:
CkHttp_putAwsAccessKey(http,'access-key');

// Insert your AccessKey Secret here:
CkHttp_putAwsSecretKey(http,'secret-key');

// To upload to a bucket located in a different region, use the endpoint for that region, such as "oss-cn-hangzhou.aliyuncs.com 	"
// See Alibaba Object Storage Service Regions and Endpoints
CkHttp_putAwsEndpoint(http,'oss-us-east-1.aliyuncs.com');

bucketName := 'chilkat';
objectName := 'orchard.json';
contentType := 'application/json';

CkHttp_putKeepResponseBody(http,True);

// Let's say we have JSON in a string and want to upload it to a file in Aliyun..
jsonStr := '{ "orchard": "apple" }';

// The charset indicates the byte representation of what is uploaded.
// If needed, Chilkat will internally convert to the desired byte representation before uploading.
charset := 'utf-8';
success := CkHttp_S3_UploadString(http,jsonStr,charset,contentType,bucketName,objectName);

if (success <> True) then
  begin
    Memo1.Lines.Add(CkHttp__lastErrorText(http));

    xml := CkXml_Create();
    CkXml_LoadXml(xml,CkHttp__lastResponseBody(http));
    Memo1.Lines.Add(CkXml__getXml(xml));
  end
else
  begin
    Memo1.Lines.Add('String uploaded.');
  end;

CkHttp_Dispose(http);
    CkXml_Dispose(xml);

end;