multer s3 access denied using multer -s3 amazon server image upload error access denied

The solution for “multer s3 access denied using multer -s3 amazon server image upload error access denied” can be found here. The following code will assist you in solving the problem.

static awsStorage: multer.StorageEngine = multerS3({
s3: new aws.S3({
credentials: new aws.Credentials({
accessKeyId: process.env.AWS_ACCESS_KEY_ID,
secretAccessKey: process.env.AWS_ACCESS_KEY
}),
hostPrefixEnabled: true,
computeChecksums: true,
s3BucketEndpoint: true,
correctClockSkew: true
}),
bucket: process.env.AWS_BUCKET_NAME,
contentType: multerS3.AUTO_CONTENT_TYPE,
serverSideEncryption: ‘AES256’,
[Multer.acl as any]: ‘public-read’,
metadata(_req: Request, file: Express.Multer.File, done: any) {
if (!file) done(new Error(‘Get file upload failed’), null)
done(null, file)
},
key(_req: Request, file: Express.Multer.File, done: any) {
done(null, `${Date.now()}.${file.originalname.split(‘.’)[1]}`)
}
})// or use my trick like this
let acl = ‘ACL’

// like this not my trick
var upload = multer({
storage: multerS3({
s3: s3,
ACL: ‘public-read’,
bucket: BucketName,
key: function (req, file, cb) {
cb(null, new Date().toISOString() + ‘-‘ + file.originalname);
}
})
});

// like this with my trick for by error in ts
var upload = multer({
storage: multerS3({
s3: s3,
[acl]: ‘public-read’,
bucket: BucketName,
key: function (req, file, cb) {
cb(null, new Date().toISOString() + ‘-‘ + file.originalname);
}
})
});

Thank you for using DeclareCode; We hope you were able to resolve the issue.

More questions on [categories-list]

0
inline scripts encapsulated in