我目前正在开发一个应该接收图像的base64的API,但是当我尝试将其传递到有效负载并通过POST发送时,服务器(顺便说一下,使用Node制作,使用express和body-parser作为中间件)给了我以下错误:
request entity too large
在网上搜索了很多内容后,我发现有人说我应该使用:
bodyParser = require('body-parser');
app.use(bodyParser.urlencoded({limit: '50mb', extended: true}));
app.use(bodyParser.json({limit: '50mb'}));
使用内容:
app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.json());
然而,通过这样做,我收到此错误:
Unexpected token i in JSON at position 5
有谁知道我在这里缺少什么?提前致谢!
这是一个以我试图发送的对象为例的打印:
答案 0 :(得分:3)
谢谢大家帮助我解决这个问题!对于那些正面临或将面临这种情况的人,我能够通过将对象传递给bodyParser.urlencoded方法和BodyParser.json方法来解决这个问题。
由于他们接受了方法中的对象,我们可以传递请求的限制和大小,所以我配置我这样做:
var bodyParser = require('body-parser');
app.use(bodyParser.urlencoded({
limit: '5mb',
parameterLimit: 100000,
extended: false
}));
app.use(bodyParser.json({
limit: '5mb'
}));
这里有这个主题也有帮助:
还有BodyParser本身的文档,您可以通过单击documentation about BodyParser
来访问它答案 1 :(得分:0)
尝试交换 bodyParser.json 和 bodyParser.urlencoded 。
var bodyParser = require('body-parser');
app.use(bodyParser.json({limit: '50mb'}));
app.use(bodyParser.urlencoded({limit: '50mb', extended: true}))