rik*_*iki 9 node.js express body-parser
嗨,我的 Express.js 有问题,我需要向 node.js 发送一个 base64 文件,我的 configuraizone 就是您在下面看到的内容,但是当我发送文件时,我收到此错误:PayloadTooLargeError:请求实体太大!我已经读到您需要像我在下面所做的那样对 body-parsers 设置限制,事实是它不断发生在我身上,我该如何解决这个问题?
节点代码:
const express = require("express");
const myParser = require("body-parser");
//const http = require('http');
const app = express();
//app.use(myParser.json({ type: 'application/*+json' }))
app.use(myParser.json());
app.use(myParser.urlencoded({
extended: true
}));
app.use(myParser.json({limit: '200mb'}));
app.use(myParser.urlencoded({limit: '200mb', extended: true}));
//Porta predefinita Server
const RunPort = 8988;
//Avvio del server sulla porta specificata
app.listen(RunPort, function () {
console.log("Serve run on Port: ", RunPort);
})
module.exports = app;
Run Code Online (Sandbox Code Playgroud)
Mar*_*nde 26
在您的代码中,您两次调用了bodyParser.json()& bodyParser.urlencoded(),问题在于 withlimit是在没有选项的调用之后,默认为100kb。因此,当您发布大于100kb该错误的内容时,将抛出错误,因为第一个解析器不会转到下一个中间件。
你不应该打bodyParser[method]两次电话。
消除:
app.use(myParser.json());
app.use(myParser.urlencoded({
extended: true
}));
Run Code Online (Sandbox Code Playgroud)
然后离开:
app.use(myParser.json({limit: '200mb'}));
app.use(myParser.urlencoded({limit: '200mb', extended: true}));
Run Code Online (Sandbox Code Playgroud)
根据您发布base64字符串的方式,您可能需要使用:
app.use(myParser.text({ limit: '200mb' });
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11474 次 |
| 最近记录: |