Sample code for 30+ languages & platforms
DataFlex

S3 Upload a File with Public Read Permissions

See more Amazon S3 Examples

Demonstrates how to upload a file to the Amazon S3 service with the x-amz-acl request header set to "public-read" to allow the file to be publicly downloadable.

Chilkat DataFlex Downloads

DataFlex
Use ChilkatAx-win32.pkg

Procedure Test
    Boolean iSuccess
    Handle hoHttp
    String sBucketName
    String sObjectName
    String sLocalFilePath
    String sContentType
    String sTemp1
    Integer iTemp1

    Move False To iSuccess

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

    Get Create (RefClass(cComChilkatHttp)) To hoHttp
    If (Not(IsComObjectCreated(hoHttp))) Begin
        Send CreateComObject of hoHttp
    End

    // Insert your AWS keys here:
    Set ComAwsAccessKey Of hoHttp To "AWS_ACCESS_KEY"
    Set ComAwsSecretKey Of hoHttp To "AWS_SECRET_KEY"

    Move "chilkat.ocean" To sBucketName
    Move "seahorse.jpg" To sObjectName
    Move "qa_data/jpg/seahorse.jpg" To sLocalFilePath
    Move "image/jpg" To sContentType

    // Add the x-amz-acl request header to make the file publicly readable.
    Send ComSetRequestHeader To hoHttp "x-amz-acl" "public-read"

    Get ComS3_UploadFile Of hoHttp sLocalFilePath sContentType sBucketName sObjectName To iSuccess

    If (iSuccess <> True) Begin
        Get ComLastErrorText Of hoHttp To sTemp1
        Showln sTemp1
        Procedure_Return
    End

    Get ComLastStatus Of hoHttp To iTemp1
    If (iTemp1 = 200) Begin
        Showln "File uploaded."
    End
    Else Begin
        Get ComLastStatus Of hoHttp To iTemp1
        Showln "Response status code: " iTemp1
        Get ComLastResponseBody Of hoHttp To sTemp1
        Showln sTemp1
    End



End_Procedure