Help Center> Object Storage Service> Node.js> Object Download> Performing a Streaming Download
Updated on 2024-05-09 GMT+08:00

Performing a Streaming Download

If you have any questions during development, post them on the Issues page of GitHub. For details about parameters and usage of each API, see the API Reference.

Sample code:

// Import the OBS library.
// Use npm to install the client.
var ObsClient = require('esdk-obs-nodejs');
// Use the source code to install the client.
// var ObsClient = require('./lib/obs');
 
// Create an instance of ObsClient.
var obsClient = new ObsClient({
       //Obtain an AK/SK pair using environment variables or import the AK/SK pair in other ways. Using hard coding may result in leakage.
       //Obtain an AK/SK pair on the management console. For details, see https://support.huaweicloud.com/intl/en-us/usermanual-ca/ca_01_0003.html.
       access_key_id: process.env.ACCESS_KEY_ID,
       secret_access_key: process.env.SECRET_ACCESS_KEY,
       server : 'https://your-endpoint'
});
 
obsClient.getObject({ 
       Bucket : 'bucketname', 
       Key : 'objectname', 
       SaveAsStream : true 
}, (err, result) => { 
       if(err){ 
              console.error('Error-->' + err); 
       }else{ 
              console.log('Status-->' + result.CommonMsg.Status); 
              if(result.CommonMsg.Status < 300 && result.InterfaceResult){
                     // Read the object content.
                     console.log('Object Content:\n'); 
                     result.InterfaceResult.Content.on('data', (data) => { 
                            console.log(data.toString()); 
                     }); 
              }
       } 
});
  • Use the SaveAsStream parameter to specify the download mode to streaming download.
  • InterfaceResult.Content is an instance of stream.Readable and can be used to save the object content to a local file or the memory.