express解决413 request entity too large问题

最近在尝试自己实现一个图片上传组件,后台用express(4.16.2)做服务器,然后就尴尬的发现只要上传的数据超过1mb,后台就会报request entity too large并且前台返回413
这里写图片描述
经过一段时间的百度,发现有多种解决方案,其中,这个帖子包括了我看到的所有解决方法。
首先,讲一下我最后尝试成功的解决方法

app.post("/api/save",bodyParser.json({limit: '10mb'}),function(req,res){
  let save = require("../api/save.js");
  save(req.body.image,res);
})

前提是你要先安装bodyParser
有一个经常看到的解决方案是

app.use(express.json({limit: '50mb'}));
app.use(express.urlencoded({limit: '50mb'}));

这个方法适用于express3.x.x,我没有尝试过,对于express4.x.x,操作如下

pp.use(bodyParser.json({limit: '50mb'}));
app.use(bodyParser.urlencoded({limit: '50mb', extended: true, parameterLimit:50000}));

对express4的解决方案我尝试过,但没有成功,不知道通过这个方案的人是如何做到的

猜你喜欢

转载自blog.csdn.net/wopelo/article/details/79810785