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

如何修復 Express.js 中的「錯誤:請求實體太大」?

Susan Sarandon
發布: 2024-11-27 15:09:11
原創
407 人瀏覽過

How to Fix the

對Express 中的「錯誤:請求實體太大」進行故障排除

Express 使用者在處理大型負載時可能會遇到「錯誤:請求實體太大”錯誤。當傳入請求超過配置的大小限制時,就會出現此問題。

設定請求大小限制

要解決此問題,使用者可以使用 app.use(express.限制(大小))中間件。在提供的範例中,限制設定為 100,000,000 個八位元組。

驗證 Content-Length 標頭

確保 Fiddler 中的 Content-Length 標頭與所發佈的 JSON 陣列的大小相符。在本例中,標頭顯示的值為 1078702 八位元字節,相當於 1.0787 兆位元組。

潛在解決方案

一個可能的解決方案是使用app.use(express.bodyParser({limit : '50mb'})) 而不是app.use(express.limit( size))。據報道,這種方法對某些用戶有效。

臨時補丁

如果上述解決方案失敗,可以透過直接修改 raw-body 模組來套用臨時補丁。透過新增限制=52428800;在 node_modules/express/node_modules/raw-body/index.js 第 10 行,限制將強制為 50 MB。 請注意,這是一個臨時解決方案,而不是永久解決方案。

推薦解決方案

為了獲得更強大的解決方案,建議將 body-parser 模組與Express 4 或更高版本。以下程式碼片段說明如何配置正文大小限制:

const bodyParser = require('body-parser');
app.use(bodyParser.json({limit: '50mb'}));
app.use(bodyParser.urlencoded({limit: '50mb'}));
登入後複製

附加說明:

  • 避免使用bodyParser(),因為它已被棄用。
  • 在Express 中使用urlencoded() 的擴充選項3.x.
  • 在Express 4.16.0 及以上版本中,再次支援先前設定限制的方法(app.use(express. json({limit: '50mb'})))。

以上是如何修復 Express.js 中的「錯誤:請求實體太大」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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