Multer上传 - 文件数

时间:2018-02-10 21:10:13

标签: javascript node.js express multer

我试图在Multer处理上传文件计数。我的功能如下:

export const upload = multer({
  storage: storage,
  fileFilter: (req, file, callback) =>
    Table.findOne({'user': req.user._id})
      .then(table => {
        if (req.params.type === 'gallery' && table.gallery.length + req.files.length > 10) {
          req.tooManyGalleryImages = true
          return callback(null, false, new Error())
        }

        callback(null, true)
      }),
  limits: {
    fileSize: 2000000
  }
})

我需要req.files.length但是例如,如果我上传三个文件,它会使用一个元素数组返回req.files三次。也许还有其他功能我可以在上传前比较文件数吗?

1 个答案:

答案 0 :(得分:1)

我认为你可以做的是利用multer支持的maxCount。

var upload = multer({...}).array('photos', maxCount) //maxCount should be whatever limit you want
upload(req, res, function (err) {
    if (err) {
      // Error due to maxCount will come here
      return
    }

    // Your code
}