2017-12-13 9 views
1

Multerexpress.jsを使用する際に問題が発生します。だから、これは正常に動作します:Express.jsのMulter

const multer = require('multer'); 
let upload = multer({dest: 'uploads/'}); 

app.post('/upload', upload.single('image'), function (req, res, next) { 
    console.log(req.file) 
    // req.file is the `avatar` file 
    // req.body will hold the text fields, if there were any 
}); 

しかし、私はこの、req.file is undefinedようにそれをしようとすると:ちょうど私が私のserver.jsから私のroutes.jsを区切るしたい場合は、正しい構文がどのようになるかならば不思議

const multer = require('multer'); 
let upload = multer({dest: 'uploads/'}); 
router.route('/', upload.single('image')) 
    .post(function (req, res, next) { 
     console.log(req.file); 
     let memory = new Memory(); 
     Object.assign(memory, req.body); 
     memory.save(function (err) { 
      if (err) { 
       return res.send(err); 
      } 
      res.json({message: 'Memory Created', memory}); 
     }); 
    }) 

また、私はこれを試してみました:

const multer = require('multer'); 
let upload = multer({dest: 'uploads/'}); 
router.route('/') 
    .post(upload.single('image'), function (req, res, next) { 
     console.log(req.file); 
     let memory = new Memory(); 
     Object.assign(memory, req.body); 
     memory.save(function (err) { 
      if (err) { 
       return res.send(err); 
      } 
      res.json({message: 'Memory Created', memory}); 
     }); 
    }) 

おかげ

答えて

1

はこれを試してみてください:

router.post('/', upload.single('image'), function (req, res, next) { 
    console.log(req.file); 

    // Do something with the file 
}); 

POSTリクエストボディがimageプロパティに添付されたファイルを持っていることを確認します。 Postmanを使用してテストする場合は、次のようになります。

enter image description here

関連する問題