Node.js 当文件数量超过限制时,如何处理multer中上传调用产生的错误?

Node.js 当文件数量超过限制时,如何处理multer中上传调用产生的错误?,node.js,express,multer,Node.js,Express,Multer,使用我的错误处理,它会按预期抛出错误,即使它上载了一些文件(直到达到限制),然后抛出错误。如何在上载某些区块文件之前抛出此错误 当超过上传文件数量限制时,如何在上传前抛出错误?提前谢谢 我试过: app.post('/upload',[ multer({ dest : function(req, file, cb){ let dest = 'uploads/1992-12-11/' let len = parseInt(req.files.length); if(len === 20){

使用我的错误处理,它会按预期抛出错误,即使它上载了一些文件(直到达到限制),然后抛出错误。如何在上载某些区块文件之前抛出此错误

当超过上传文件数量限制时,如何在上传前抛出错误?提前谢谢

我试过:

app.post('/upload',[
multer({
dest    : function(req, file, cb){
let dest = 'uploads/1992-12-11/'
let len = parseInt(req.files.length);
if(len === 20){
console.log('let us throw error');
}
cb(null, dest);
}
onError : function(err, next){
console.log('error' + err);
next(err);
}
}),
function(req, res) {
res.status(204).end();
}
});
使用express fileupload使用multer指定的技术进行验证

var multer = require('multer')
var upload = multer().single('avatar')

app.post('/profile', function (req, res) {
  upload(req, res, function (err) {
  if (err instanceof multer.MulterError) {
  // A Multer error occurred when uploading.
  } else if (err) {
  // An unknown error occurred when uploading.
  }

   // Everything went fine.
  })
})
它为console.log(req.files)返回null

尝试了此线程中的几乎所有内容:

错误处理:

app.post('/upload',[
  multer({
    dest    : './uploads/1992-12-11/',
    onError : function(err, next) {
      console.log('error', err);
      next(err);
    }
 }),
 function(req, res) {
   res.status(204).end();
   }
 ]);

由于您正在上载多个文件,因此它应该是multer数组。 您可以这样指定文件限制:

var upload = multer().array('file', 20); // where 20 is the limit
您的路由处理程序可以相同,并且可以在以下情况下处理错误:

app.post('/profile', function (req, res) {
  upload(req, res, function (err) {
  if (err instanceof multer.MulterError) {
  // A Multer error occurred when uploading.
  } else if (err) {
  // An unknown error occurred when uploading.
  }
   // Everything went fine.
  })
})