Updated on 2026-01-16 GMT+08:00

Configuring Object Metadata

You can call ObsClient.setObjectMetadata to set object attributes, including system-defined metadata (CacheControl, ContentDisposition, ContentType, StorageClass, and Expires).

This example configures the Content-Disposition metadata for objectname in bucketname.

The example code is as follows:

// Create an ObsClient instance.
var obsClient = new ObsClient({
    // Hard-coded or plaintext AK/SK are risky. For security purposes, encrypt your AK/SK and store them in the configuration file or environment variables. In this example, the AK/SK are stored in environment variables for identity authentication. Before running this example, configure environment variables AccessKeyID and SecretAccessKey.
    // The front-end code does not have the process object, so you need to use a module bundler like webpack to define environment variables.
    // Obtain an AK/SK pair on the management console.
    access_key_id: process.env.AccessKeyID,
    secret_access_key: process.env.SecretAccessKey,
    server: 'https://your-endpoint'
});
obsClient.setObjectMetadata({
       Bucket : 'bucketname',
       Key : 'objectname',
       Content-Disposition : 'attachment;filename=1.txt',
       MetadataDirective : 'REPLACE_NEW'
}, function (err, result){
       if(err){              
          console.error('Error-->' + err);       
       }else{              
          console.log('Status-->' + result.CommonMsg.Status);        
       }
});