首页 > web前端 > js教程 > 正文

如何解决 Express.js 中的'请求实体太大”错误?

Mary-Kate Olsen
发布: 2024-11-28 03:51:11
原创
419 人浏览过

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
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板