Configure AWS SDK with Digital Ocean endpoint const AWS = require('aws-sdk') const spacesEndpoint = new AWS.Endpoint('nyc3.digitaloceanspaces.com'); const s3 = new AWS.S3({ endpoint: spacesEndpoint, accessKeyId: 'ACCESS_KEY', secretAccessKey: 'SECRET_KEY' }); uploadImage (buffer, fileName) { if (!Buffer.isBuffer(buffer)) { throw new Error('buffer param is not a Buffer type') } return new Promise((resolve, reject) => { const params = { Bucket: this.bucket, Key: fileName, Body: buffer, ContentType: 'image/jpeg', ACL: 'public-read' // makes uploaded objects public } this.client.upload(params, (error, data) => { if (error) { logger.error(`${this.constructor.name}: unable to upload objects`, error) return reject(error) } resolve(data.Location) }) }) }