Body-Parser太大Nodejs

我目前正在开发一个应该接收一个图像的base64的API,但是当我尝试通过POST传递这个有效负载并发送时,服务器(通过使用expression式和身体分析器作为中间件,由Node构成)给出我有以下错误:

request entity too large 

在网上search了很多之后,我发现有人说我应该使用:

 bodyParser = require('body-parser'); app.use(bodyParser.urlencoded({limit: '50mb', extended: true})); app.use(bodyParser.json({limit: '50mb'})); 

intead使用:

 app.use(bodyParser.urlencoded({ extended: false })); app.use(bodyParser.json()); 

但是,通过这样做,我收到此错误:

 Unexpected token i in JSON at position 5 

有没有人知道我在这里失踪? 提前致谢!

这是一个打印与我试图发送的对象为例:

带有base64属性的对象

谢谢大家帮助我解决这个问题! 对于那些正在面对或将面临这个问题的人,我可以通过将一个对象传递给bodyParser.urlencoded方法和BodyParser.json方法来解决这个问题。

由于他们接受方法中的对象,所以我们可以通过限制和请求的大小,所以我configuration我这样做:

 var bodyParser = require('body-parser'); app.use(bodyParser.urlencoded({ limit: '5mb', parameterLimit: 100000, extended: false })); app.use(bodyParser.json({ limit: '5mb' })); 

这里有这个话题可以帮助:

问题堆栈

还有BodyParser本身的文档,您可以通过单击有关BodyParser的文档来访问它

尝试交换bodyParser.jsonbodyParser.urlencoded

var bodyParser = require('body-parser'); app.use(bodyParser.json({limit: '50mb'})); app.use(bodyParser.urlencoded({limit: '50mb', extended: true}))