node.js - Nodejs PayloadTooLargeError:请求实体太大
问题描述
在我的工作中,我们使用 express nodejs 来创建模拟。在性能测试期间,我们注意到对于大约 2 MB 的请求,nodejs 会抛出错误 ->
PayloadTooLargeError: request entity too large
at readStream (c:\Work\mocks\Mocks\tst\ver01\node_modules\raw-body\index.js:155:17)
at getRawBody (c:\Work\mocks\Mocks\tst\ver01\node_modules\raw-body\index.js:108:12)
at read (c:\Work\mocks\Mocks\tst\ver01\node_modules\body-parser\lib\read.js:77:3)
at jsonParser (c:\Work\mocks\Mocks\tst\ver01\node_modules\body-parser\lib\types \json.js:135:5)
at Layer.handle [as handle_request] (c:\Work\mocks\Mocks\tst\ver01\node_modules\express\lib\router\layer.js:95:5)
at trim_prefix (c:\Work\mocks\Mocks\tst\ver01\node_modules\express\lib\router\index.js:317:13)
at c:\Work\mocks\Mocks\tst\ver01\node_modules\express\lib\router\index.js:284:7
at Function.process_params (c:\Work\mocks\Mocks\tst\ver01\node_modules\express\lib\router\index.js:335:12)
at next (c:\Work\mocks\Mocks\tst\ver01\node_modules\express\lib\router\index.js:275:10)
at expressInit (c:\Work\mocks\Mocks\tst\ver01\node_modules\express\lib\middleware\init.js:40:5)
根据其他说明,我应用了以下解决方案->
app.use(bodyParser.json({limit: "50mb", extended: true, parameterLimit:50000}));
app.use(bodyParser.urlencoded({limit: "50mb", extended: true, parameterLimit:50000}));
和
app.post('/marked-parcels', bodyParser({limit: '10mb'}), (req, res) => SendEmptyResponse(res));
但这些解决方案不起作用。我们检查了其他类型的 Web 服务作为 .net 核心 HttpListener。处理该请求没有问题,因此我们假设问题出在 nodejs 中。
有人可以建议我们如何在 nodejs 中处理该请求吗?也许是另一种可以帮助我们的解决方案。非常感谢所有的回答。
问候。
解决方案
推荐阅读
- c++ - 2个单链表节点可以在c ++中相互指向吗?
- swift - 按钮不会通过触摸到 iOS 14 上的集合视图单元格
- spring - Mockito/Spring:仅模拟 Autowired Service 中的一项功能
- liferay - 如何在任何流行的搜索引擎中隐藏 Liferay Portal,使其不被索引?
- javascript - 扩展 Promise 基类类型
- java - 保持活动运行
- php - mfpdf 中的 WriteHTML 显示正方形
- kubernetes - 何时在 Kubernetes 中选择“LoadBalancer”而不是“NodePort”服务类型(反之亦然)以对外公开服务?
- amazon-web-services - Dynamo DB UPDATE_SKIP_NULL_ATTRIBUTES 行为将未建模的 Number 属性更新为“0”
- python - Python中6个小写字母可以有多少个密码组合