'use strict'; const config = require('config'); const fs = require('fs'); const { nanoid } = require('nanoid'); const { Upload } = require('@aws-sdk/lib-storage'); const { S3Client } = require('@aws-sdk/client-s3'); async function init() { const filepath = './public/img/sfw/animals/j0iiByCxGfA.jpeg'; const s3 = new S3Client({ region: 'eu-central-1', endpoint: 's3.eu-central-1.wasabisys.com', credentials: { accessKeyId: config.s3.accessKey, secretAccessKey: config.s3.secretKey, }, }); try { // const data = await s3.listBuckets().promise(); const file = fs.createReadStream(filepath); const key = `img/${nanoid()}.jpg`; const status = await new Upload({ client: s3, params: { Bucket: config.s3.bucket, Body: file, Key: key, ContentType: 'image/jpeg', }, }).done(); // console.log(data); console.log(status); } catch (error) { console.log(error); } } init();