After testing the rejection of a file I received the following error:
/usr/src/server/node_modules/multer-s3/index.js:244
this.s3.deleteObject({ Bucket: file.bucket, Key: file.key }, cb)
^
TypeError: this.s3.deleteObject is not a function
at S3Storage._removeFile (/usr/src/server/node_modules/multer-s3/index.js:244:11)
at remove (/usr/src/server/node_modules/multer/lib/make-middleware.js:66:19)
at handleFile (/usr/src/server/node_modules/multer/lib/remove-uploaded-files.js:10:5)
at removeUploadedFiles (/usr/src/server/node_modules/multer/lib/remove-uploaded-files.js:25:3)
at Counter.<anonymous> (/usr/src/server/node_modules/multer/lib/make-middleware.js:69:9)
at Object.onceWrapper (node:events:641:28)
at Counter.emit (node:events:527:28)
at Counter.decrement (/usr/src/server/node_modules/multer/lib/counter.js:15:32)
at /usr/src/server/node_modules/multer/lib/make-middleware.js:149:34
at /usr/src/server/node_modules/multer-s3/index.js:224:7
This is caused by the now removed S3 deleteObject function.
A possible solution:
import { DeleteObjectCommand } from '@aws-sdk/client-s3';
S3Storage.prototype._removeFile = function (req, file, cb) {
this.S3Client.send(
new DeleteObjectCommand({
Bucket: file.bucket,
Key: file.key,
}),
cb,
);
};
Environment: Docker Container Localstack version: 0.14.3 MulterS3 version: 3.0.0 AWS SDK version: 3.100.0 S3 Client generation:
After testing the rejection of a file I received the following error:
This is caused by the now removed S3 deleteObject function.
A possible solution: