javascript - 使用 multer 上传多个文件失败

标签 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();
});

使用单个文件上传。

最佳答案

Upload.array() 需要字段名称和 maxCount 参数。但是您给文件的名称是"file",并且您正在使用中间件 upload.array('photos',4)。尝试以下方式可能会起作用

  upload.array('file',4)

  upload.any();

请引用文档:https://github.com/expressjs/multer

关于javascript - 使用 multer 上传多个文件失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34603732/

相关文章:

javascript - Travis CI Nodejs 4 和 eval npm 安装

javascript - res.body 的 TypeScript 类型注解

mysql - 你如何在 Node.js/Express 中模拟 MySQL(使用 node-orm2)?

json - 使用 sequelize 防止将连接表数据添加到 json

javascript - 通过 2 层深的键值查找对象

javascript - 如何在不使用全局变量的情况下使数据随时可供多个 Javascript 函数使用?

javascript - 计算每个循环中字符的出现次数

javascript - 从 Javascript 更改 CSS 规则集

node.js - 如何在没有手动浏览器身份验证的情况下从 Meteor.js 应用程序 oauth (2) 向 GMail-api 进行身份验证?

node.js - Azure 应用服务无法运行部署命令