在我的工作中,我们使用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中处理该请求吗?也许是可以帮助我们的另一种解决方案。 对于所有答复,非常感谢。
问候。