首页 > web前端 > js教程 > 如何修复 Express.js 中的'错误:请求实体太大”?

如何修复 Express.js 中的'错误:请求实体太大”?

Susan Sarandon
发布: 2024-11-27 15:09:11
原创
474 人浏览过

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