node.js - Body-Parser 太大的 Nodejs

标签 node.js express base64 body-parser

我目前正在开发一个应该接收图像的 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

有谁知道我在这里缺少什么?提前致谢!

这是一张印有我要发送的对象的照片:

Object with base64 attribute

最佳答案

感谢所有帮助我解决这个问题的人!对于那些面临或将要面临这个问题的人,我能够通过将一个对象传递给 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/

相关文章:

node.js - GPT 3.5 Turbo 与 Dialogflow 集成

node.js - Express.js 中的所有根级路由 : considerations and reserving possible routes for future use?

java - 如何在 java 中将 java.sql.blob 转换为 base64 编码的字符串

java - 改造 - 解压 gzip

node.js - 如何从完成响应中返回 OpenAI 的文本?

javascript - Node.JS,服务器在请求过程中关闭 Keep-Alive 连接

javascript - 在Node.js中使用edge.js处理C#.NET事件以获取 Electron

node.js - 如何设置 Node.js 和 Express(MERN 堆栈)

node.js - MongoDB 查询条件和预测

linux - Base64编码修改只是可打印的字符