413 负载太大,对于在 Express 中调整大小后的 Base64 字符串

bai*_*win 7 javascript node.js express

我尝试使用 Base64 编码文件向我的节点服务器发出发布请求。

我收到 PayloadTooLargeError: requestEntity Too Large 异常,所以我按照 Express 4 约定扩展了有效负载限制

app.use(bodyParser.json({limit: '100mb'}));
app.use(bodyParser.urlencoded({limit: '100mb', extended: true}));
Run Code Online (Sandbox Code Playgroud)

这是一张console.log的图片

但是问题仍然出现,有人可以帮我解决为什么吗?

这是我的全局变量

app.use(bodyParser.json())
app.use(bodyParser.urlencoded({ extended: false}))
app.use(bodyParser.json({limit: '100mb'}));
app.use(bodyParser.urlencoded({limit: '100mb', extended: true}));
Run Code Online (Sandbox Code Playgroud)

nos*_*one 5

在你的代码中:

app.use(bodyParser.json())
Run Code Online (Sandbox Code Playgroud)

不应该在没有选项的情况下使用。如果没有选项,我相信默认大小约为 100 Kb。

您可以关注text以下参数:

app.use(myParser.text({ limit: '200mb' }));
Run Code Online (Sandbox Code Playgroud)

如果您使用的是最新版本的express,那么它应该是这样的:

app.use(bodyParser.json({limit: '50mb', extended: true}));
app.use(bodyParser.urlencoded({limit: "50mb", extended: true, parameterLimit:50000}));
app.use(bodyParser.text({ limit: '200mb' }));
Run Code Online (Sandbox Code Playgroud)

尝试添加一个parameterLimit> 100000 或更大的标志。


小智 0

这对我来说很有用,除了 bodyparser 的“限制”之外还设置了“类型”

var app = express(); 
var jsonParser = bodyParser.json({limit:1024*1024*10, type:'application/json'}); 
var urlencodedParser = bodyParser.urlencoded({ extended:true,limit:1024*1024*10,type:'application/x-www-form-urlencoded' });
app.use(jsonParser);
app.use(urlencodedParser);
Run Code Online (Sandbox Code Playgroud)