He estado tratando de cargar una imagen con transform usando este paquete. pero no quiero cargar un archivo de más de 1 MB de tamaño. Entonces, configuré mi multer de la siguiente manera,
const storage = multerS3Transform({ s3: s3, bucket: process.env.AWS_BUCKET_NAME + process.env.UPLOADS_DIRECTOY + process.env.FOLDER_DIRECTOY, shouldTransform: function (req, file, cb) { cb(null, /^image/i.test(file.mimetype)); }, transforms: [ { id: "original", key: function (req, file, cb) { cb(null, `${Date.now()}${path.extname(file.originalname)}`); }, transform: function (req, file, cb) { cb(null, sharp()); }, }, { id: "md", key: function (req, file, cb) { cb(null, "md/" + `${Date.now()}${path.extname(file.originalname)}`); }, transform: function (req, file, cb) { cb(null, sharp().resize(imgSize[0].width, imgSize[0].height)); }, }, { id: "lg", key: function (req, file, cb) { cb(null, "lg/" + `${Date.now()}${path.extname(file.originalname)}`); }, transform: function (req, file, cb) { cb(null, sharp().resize(imgSize[1].width, imgSize[1].height)); }, }, ], }); const upload = multer({ storage, limits: { fileSize: 1000000 }, //1000000 bytes = 1MB fileFilter: function (req, file, cb) { checkFileType(file, cb); }, });Cuando subo archivos de menos de 1 MB, funciona bien. Si doy un archivo de más de 1 MB, debería darme MulterError con el código LIMIT_FILE_SIZE. Pero me da TypeError: no se puede leer la propiedad 'longitud' de indefinido
esta es la pila de errores
TypeError: Cannot read property 'length' of undefined at FileAppender.removePlaceholder (D:\mirasel\Test_project\node_modules\multer\lib\file-appender.js:48:49) at D:\mirasel\Test_project\node_modules\multer\lib\make-middleware.js:147:22 at ManagedUpload.callback (D:\mirasel\Test_project\node_modules\multer-s3-transform\index.js:400:29) at ManagedUpload.cleanup (D:\mirasel\Test_project\node_modules\aws-sdk\lib\s3\managed_upload.js:635:10) at Sharp.<anonymous> (D:\mirasel\Test_project\node_modules\aws-sdk\lib\s3\managed_upload.js:187:44) at Sharp.emit (events.js:400:28) at Sharp.emit (domain.js:470:12) at Object.<anonymous> (D:\mirasel\Test_project\node_modules\sharp\lib\output.js:1075:18)