Экспресс-маршрутизатор с обработкой ошибок промежуточного ПО - PullRequest
0 голосов
/ 25 сентября 2019

У меня есть вопрос об обработке ошибок с помощью промежуточного программного обеспечения, в частности, multer.У меня есть этот маршрут:

router.post('/', saveFile, (req, res, next) => {
    //rest of code
    })

Затем у меня есть промежуточное ПО saveFile:

const multer = require('multer')
const storage = multer.diskStorage({
    destination: (req, res, cb) => {
        cb(null, './uploads/')
    },
    filename: (req, res, cb) => {
        cb(null, new Date().getTime() + '.jpg')
    }
})

const fileFilter = (req, file, cb) => {
    if (file.mimetype === 'image/jpeg') cb(null, true)

    cb(null, false)
}
const upload = multer({
    storage: storage,
    limits: {
        fileSize: 1024 * 1024 * 3 // up to 3 megabytes
    },
    fileFilter: fileFilter
})

const saveFile = upload.single('file')
module.exports.saveFile = saveAudio

У меня проблема в том, что при загрузке файла с именем поля, отличным от file,Я получаю ошибку MulterError: Unexpected field.Я хочу как-то отловить эту ошибку.Но я даже не знаю, где это сделать.Как мне это сделать?

...