大型請求實體的錯誤處理
使用Express 應用程式時,您可能會遇到「錯誤:要求實體太大」錯誤。當請求有效負載的大小超過指定限制時,通常會發生此錯誤。以下是如何解決此問題的說明:
在提供的程式碼片段中,您有以下行:
此行使用express.limit()方法來限制請求大小為100MB(1 億位元組)。但是,此設定會被使用 bodyParser 方法的後續中間件覆寫(程式碼片段中未顯示)。
Body Parser 的正確設定
要設定正確請求大小限制,您應該明確設定 bodyParser 中介軟體。預設情況下,json()用於處理JSON請求,urlencoded()用於表單資料請求。您可以使用每個解析器各自的選項設定限制:
或者,您可以使用現已棄用的bodyParser 方法並設定其限制選項:
確定極限值
在您的情況下,您觀察到1.0787 MB有效負載,在您設定的 100MB 限制內。這表示問題可能出在其他地方。確認您沒有配置任何其他可能設定更嚴格限制的中介軟體或第三方函式庫。
故障排除
如果您已正確配置主體-解析器中間件並排除了限制的任何其他潛在來源,您可能需要調試代碼以確定限制設置不正確的位置。考慮在中間件的策略點新增控制台日誌,以檢查 limit 變數的值。
在 Express v4.16.0 及更高版本中,您可以傳回使用 app.use(express.limit 的簡潔語法())。但是,需要注意的是,bodyParser 方法已被棄用,應替換為 body-parser,以便為您的程式碼提供面向未來的保障。
以上是如何解決 Express.js 應用程式中的「錯誤:請求實體太大」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!