ホームページ > ウェブフロントエンド > jsチュートリアル > Express.js の「リクエスト エンティティが大きすぎます」エラーを解決するにはどうすればよいですか?

Express.js の「リクエスト エンティティが大きすぎます」エラーを解決するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-11-28 03:51:11
オリジナル
448 人が閲覧しました

How to Resolve the

エラー: リクエスト エンティティが大きすぎます

このエラーは、リクエスト本文が許容サイズ制限を超えた場合に発生します。 Express には、この制限を設定するための Express.limit() メソッドが用意されています。ただし、制限が正しく適用されない場合があります。

解決策:

1.制限を明示的に設定する

express.limit() が明示的に呼び出され、express.json() や Express.urlencoded() などのリクエスト本文を変更する可能性のある他のミドルウェアの前に配置されていることを確認します。

app.use(express.limit('50mb'));
ログイン後にコピー

2. body-parser

を使用してボディ パーサーを更新する Express 4 では、express.json() および Express.urlencoded() の代わりに body-parser ミドルウェアを使用する必要があります。

var bodyParser = require('body-parser');
app.use(bodyParser.json({limit: '50mb'}));
app.use(bodyParser.urlencoded({limit: '50mb'}));
ログイン後にコピー

3.モジュールに一時的にパッチを適用する

一時的な解決策として、raw-body モジュールを編集して制限を手動で設定できます。モジュールの更新中に上書きされるため、これは推奨されません。

// In node_modules/express/node_modules/connect/node_modules/raw-body/index.js
limit = 52428800; // For 50mb
ログイン後にコピー

4.最新の Express バージョンを使用します

Express v4.16.0 以降では、body-parser を明示的に使用せずに制限を設定できます。

app.use(express.json({limit: '50mb'}));
app.use(express.urlencoded({limit: '50mb'}));
ログイン後にコピー

以上がExpress.js の「リクエスト エンティティが大きすぎます」エラーを解決するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート