Expressでnodejsを使用してファイルをアップロードします。
bodyParser が仕事を成し遂げているのがわかります...
app.use(express.bodyParser({"limit": '2mb'}));
しかし、リクエストのサイズを制限したい場合、アップロードがキャンセルされないことがわかりました。クライアントはデータを送信し続けます。
だから私はこのミドルウェアを書きました:
app.use(function (err, req, res, next) {
if(err.status == 413){
req.destroy();
return res.json({
"status": 413,
"message": err
},413);
}else
next(err);
});
動作し、アップロードをキャンセルしますが、クライアントは応答を取得 (または無視) しません!
これは http プロトコルの動作である可能性があると思うので、助けていただければ幸いです。