NodeJS - Как я могу вернуть пользовательскую ошибку, используя загрузку изображений с multer-s3?
Я пытался вернуть пользовательскую ошибку при неудаче при попытке загрузить изображение с помощью multer-s3.
Это мои текущие настройки s3-multer:
var upload = multer({
storage: multerS3({
s3: s3,
bucket: myBucket,
fileFilter: (res, file, callback) => {
var ext = path.extname(file.originalname);
if(ext !== '.png' && ext !== '.jpg' && ext !== '.jpeg') {
res.status(400).send('Please upload only images')
}
callback(null, true)
},
acl: 'public-read',
contentType: multerS3.AUTO_CONTENT_TYPE,
key: function (req, file, cb) {
uuidFileName = uuidv4();
fileNamesArray.push(uuidFileName);
if (!file.originalname.match(/\.(jpg|jpeg|png|gif)$/)) {
return cb(new Error('Please upload only images'));
}
cb(null, uuidFolderName + '/' + uuidFileName + '.' + mime.getExtension(file.mimetype))
}
})
})
Так как старый метод был вычтен, сейчас я должен включить if(err)
реализация внутри фактического вызова к upload
метод.
upload.fields(
[
{ name: '1stImage', maxCount: 1 },
{ name: '2ndImage', maxCount: 1 },
{ name: '3rdImage', maxCount: 1 },
{ name: '4thImage', maxCount: 1 },
{ name: '5thImage', maxCount: 1 }
]),
(req, res, next) => {
if(err){
return 'An error occurred while trying to upload the file.';
}
Я просто не могу понять, где реализовать 'err', сейчас он не определен.
** Редактировать ** Я только что понял onError
устарела из этой темы:
[ Обработка ошибок при загрузке файла с использованием multer с expressjs
Есть идеи?
Спасибо.