ファイル数の制限を超えたときにmulterでのアップロード呼び出しによって作成されたエラーを処理する方法は?

CrazyKP

私のエラー処理では、いくつかのファイルをアップロードし(制限に達するまで)、エラーがスローされても、期待どおりにエラーがスローされます。いくつかのチャンクファイルをアップロードする前にこのエラーをスローする方法は?

ここに画像の説明を入力してください

アップロードするファイルの制限を超えた場合、アップロードする前にエラーをスローするにはどうすればよいですか?前もって感謝します!

私が試したもの:

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を返します。

このスレッドのほとんどすべてを試しました:Express 4.0でのファイルのアップロード:req.filesundefined

エラー処理:

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.
  })
})

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

Related 関連記事

ホットタグ

アーカイブ