大規模なリクエスト エンティティのエラー処理
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 サイトの他の関連記事を参照してください。