Body-Parser too large Nodejs
我目前正在开发一个应该接收图像的base64的API,但是当我尝试将其传递到有效负载中并通过POST发送时,服务器(顺便说一下,它是由Node制作的,使用express和body-parser作为中间件) 我出现以下错误:
1 | request entity too large |
在网上搜索了很多之后,我发现有人说我应该使用:
1 2 3 | bodyParser = require('body-parser'); app.use(bodyParser.urlencoded({limit: '50mb', extended: true})); app.use(bodyParser.json({limit: '50mb'})); |
使用注意事项:
1 2 | app.use(bodyParser.urlencoded({ extended: false })); app.use(bodyParser.json()); |
但是,这样做,我收到此错误:
1 | Unexpected token i in JSON at position 5 |
有人知道我在这里想念的吗? 提前致谢!
这是我尝试发送的对象的打印件:
谢谢所有帮助我解决这个问题的人! 对于那些面临或将要面临的问题,我能够通过将一个对象传递给bodyParser.urlencoded方法和BodyParser.json方法来解决。
因为他们在他们的方法中接受一个对象,所以我们可以传递请求的限制和大小,因此我将我的配置如下:
1 2 3 4 5 6 7 8 9 10 11 | var bodyParser = require('body-parser'); app.use(bodyParser.urlencoded({ limit: '5mb', parameterLimit: 100000, extended: false })); app.use(bodyParser.json({ limit: '5mb' })); |
这里有一个主题也可以提供帮助:
堆栈问题
也有BodyParser本身的文档,您可以通过单击有关BodyParser的文档来访问
尝试交换bodyParser.json和bodyParser.urlencoded。
app.use(bodyParser.json({limit: '50mb'}));
app.use(bodyParser.urlencoded({limit: '50mb', extended: true}))