我目前正在开发一个 API,它应该接收图像的 base64,但是当我尝试将它传递到有效负载并通过 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
有谁知道我在这里想念什么?提前致谢!
这是我尝试发送的对象的打印示例:
最佳答案
感谢所有帮助我解决这个问题的人!对于那些面临或将面临这种情况的人,我能够通过将对象传递给 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'
}));
这里有这个主题也可以提供帮助:
Issue on Stack
还有 BodyParser 本身的文档,您可以通过单击 documentation about BodyParser 访问
关于node.js - Body-Parser太大Nodejs,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45614705/