Мультер в узле Js

#node.js #express #ejs #web-deployment #multer

#node.js #выразить #ejs #веб-развертывание #мультер

Вопрос:

Я пытаюсь использовать модуль multer на своем веб-сайте, но я сомневаюсь, что мы объявляем загрузку как постоянную const upload =multer({}); , но затем в методе post мы используем (req,res,error) метод upload — это тот же объект или другой. Может кто-нибудь, пожалуйста, помогите мне, это было бы большой помощью.

 const upload = multer({
  storage: storage,
  limits:{fileSize: 1000000},
  fileFilter: function(req, file, cb){
    checkFileType(file, cb);
  }
}).single('myImage');`

`app.post('/upload', (req, res) => {
  upload(req, res, (err) => {
    if(err){
      res.render('index', {
        msg: err
      });
    } else {
      if(req.file == undefined){
        res.render('index', {
          msg: 'Error: No File Selected!'
        });
      } else {
        res.render('index', {
          msg: 'File Uploaded!',
          file: `uploads/${req.file.filename}`
        });
      }
    }
  });
});
 

Загрузка определяется как объект, но в методе post мы определяем метод

Комментарии:

1. Тот же объект с чем?

2. Я отредактировал сообщение, я добавил код. Не могли бы вы, пожалуйста, проверить это

3. Привет @doj. Добро пожаловать в SO. multer.single() это промежуточное программное обеспечение express. Промежуточное программное обеспечение имеет определение (req, res, nxt) . В const инструкции вам возвращается функция, соответствующая этому определению. При этом этот код выглядит правильно. Вы столкнулись с ошибкой?

4. Спасибо, теперь я понял концепцию