· 7 years ago · Oct 23, 2018, 02:46 AM
1require('dotenv').config()
2var AWS = require('aws-sdk')
3const fs = require('fs')
4
5const BUCKET = process.env.AWS_BUCKET
6const REGION = process.env.AWS_REGION || 'eu-west-1'
7const ACCESS_KEY = process.env.AWS_ACCESS_KEY
8const SECRET_KEY = process.env.AWS_SECRET_KEY
9
10const localImage = './cat.png'
11const imageRemoteName = `catImage_${new Date().getTime()}.png`
12
13AWS.config.update({
14 accessKeyId: ACCESS_KEY,
15 secretAccessKey: SECRET_KEY,
16 region: REGION
17})
18
19var s3 = new AWS.S3()
20
21s3.putObject({
22 Bucket: BUCKET,
23 Body: fs.readFileSync(localImage),
24 Key: imageRemoteName
25})
26 .promise()
27 .then(response => {
28 console.log(`done! - `, response)
29 console.log(
30 `The URL is ${s3.getSignedUrl('getObject', { Bucket: BUCKET, Key: imageRemoteName })}`
31 )
32 })
33 .catch(err => {
34 console.log('failed:', err)
35 })