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

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

Linda Hamilton
リリース: 2024-11-28 14:30:12
オリジナル
801 人が閲覧しました

How to Solve the

大規模なリクエスト エンティティのエラー処理

Express アプリケーションを使用しているときに、「エラー: リクエスト エンティティが大きすぎます」エラーが発生する場合があります。このエラーは通常、リクエスト ペイロードのサイズが指定された制限を超えた場合に発生します。この問題を解決する方法の説明は次のとおりです。

提供されたコード スニペットには、次の行があります。

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

この行は、express.limit() メソッドを使用して、リクエストのサイズは 100MB (1 億バイト) です。ただし、この設定は、bodyParser メソッドを使用する後続のミドルウェアによってオーバーライドされます (コード スニペットには示されていません)。

Body Parser の適切な構成

サイズ制限を正しくリクエストするには、bodyParser ミドルウェアを明示的に構成する必要があります。デフォルトでは、json() は JSON リクエストの処理に使用され、urlencoded() はフォーム データ リクエストに使用されます。これらの各パーサーの制限は、それぞれのオプションを使用して設定できます:

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

または、現在非推奨になっている bodyParser メソッドを使用して、その制限オプションを設定できます:

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

制限値の決定

あなたの場合、次のようになります。 1.0787 MB のペイロード。これは設定した 100 MB 制限内です。これは、問題が別の場所にある可能性があることを示唆しています。より厳しい制限を設定している可能性のある他のミドルウェアまたはサードパーティ ライブラリが構成されていないことを確認してください。

トラブルシューティング

本体が適切に構成されている場合は、パーサー ミドルウェアを使用し、制限の他の潜在的な原因を除外した場合は、コードをデバッグして、制限が誤って設定されている場所を特定する必要がある場合があります。ミドルウェアの戦略的なポイントにコンソール ログを追加して、limit 変数の値を調べることを検討してください。

Express v4.16.0 以降では、app.use(express.limit の簡潔な構文の使用に戻ることができます) ())。ただし、bodyParser メソッドは非推奨となっており、コードを将来的に保証するために body-parser に置き換える必要があることに注意することが重要です。

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

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