Sample code for 30+ languages & platforms
React Native

Upload File with User-Defined Metadata

See more Amazon S3 Examples

Demonstrates how to upload a file with user-defined metadata to the Amazon S3 service.

Chilkat React Native Downloads

React Native
import { Http } from '@chilkat/react-native'

async function chilkatExample() {
  // This example assumes the Chilkat API to have been previously unlocked.
  // See Global Unlock Sample for sample code.

  const http = new Http();

  // Insert your AWS keys here:
  http.awsAccessKey = 'AWS_ACCESS_KEY';
  http.awsSecretKey = 'AWS_SECRET_KEY';

  const bucketName = 'chilkat.ocean';
  const objectName = 'seahorse.jpg';
  const localFilePath = 'qa_data/jpg/seahorse.jpg';
  const contentType = 'image/jpg';

  // User-defined metadata are name/value pairs, and are added to the HTTP request header.
  // Header names must begin with "x-amz-meta-" to distinguish them from other HTTP headers.
  // Note that Amazon S3 stores user-defined metadata keys in lowercase.

  // For example, to add genus=Hippocampus, we do this:
  http.setRequestHeader('x-amz-meta-genus', 'Hippocampus');

  // Add a few more user-metadata key pairs.
  http.setRequestHeader('x-amz-meta-species', 'big-belly seahorse');
  http.setRequestHeader('x-amz-meta-habitat', 'shallow tropical and temperate waters');

  try {
    await http.s3UploadFileAsync(localFilePath, contentType, bucketName, objectName);
    console.log('File uploaded.');
  } catch {
    console.log(http.lastErrorText);
  }
}