使用multer上传多个文件失败

时间:2016-01-05 03:29:24

标签: javascript node.js express multer

按照文档后,我得到了以下函数的空数组。

var multer  = require('multer');
var upload = multer();
    router.post('/image', upload.array('photos', 4), function(req, res) {
      var file = req.files;
      console.log('======')
      console.log(file);
      res.end();
    });

<form action="/products/image" method="post" enctype="multipart/form-data">
  <input type="file" name="file" value="upload" multiple>
  <input type="submit" value="upload">
</form>

但奇怪的是这实际上是有效的

router.post('/image',upload.single('avatar'), function(req, res) {
  var file = req.files;
  console.log('======')
  console.log(file);
  res.end();
});

单个文件上传。

1 个答案:

答案 0 :(得分:10)

Upload.array()必填字段名称和maxCount参数。但是你给的文件名是'file'而你正在使用中间件upload.array('photos',4)。尝试以下方式它可能会起作用

  upload.array('file',4)

  upload.any();

请参阅文档:https://github.com/expressjs/multer