首頁 > web前端 > js教程 > 主體

如何解決 Express.js 中的「請求實體太大」錯誤?

Mary-Kate Olsen
發布: 2024-11-28 03:51:11
原創
421 人瀏覽過

How to Resolve the

錯誤:請求實體太大

當請求正文超出允許的大小限制時,會發生此錯誤。 Express 提供了express.limit() 方法來設定此限制。但是,有時該限制未正確執行。

解決方案:

1.明確設定限制

確保明確呼叫express.limit()並將其放置在可能更改請求正文的其他中間件之前,例如express.json()或express.urlencoded()。

app.use(express.limit('50mb'));
登入後複製

2。使用 body-parser 更新 Body Parser

在 Express 4 中,應該使用 body-parser 中間件而不是 express.json() 和express.urlencoded()。

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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板