nodejs express报错request entity too large
今天有人的nodejs代码遇到,413 request entity too large,很熟悉的报错,以前使用koa解决过,这次的也记录一下
具体报错为
PayloadTooLargeError: request entity too large
at readStream (D:\nodejs\gisPic\node_modules\raw-body\index.js:155:17)
at getRawBody (D:\nodejs\gisPic\node_modules\raw-body\index.js:108:12)
at read (D:\nodejs\gisPic\node_modules\body-parser\lib\read.js:77:3)
at jsonParser (D:\nodejs\gisPic\node_modules\body-parser\lib\types\json.js:135:5)
at Layer.handle [as handle_request] (D:\nodejs\gisPic\node_modules\express\lib\router\layer.js:95:5)
at trim_prefix (D:\nodejs\gisPic\node_modules\express\lib\router\index.js:317:13)
at D:\nodejs\gisPic\node_modules\express\lib\router\index.js:284:7
at Function.process_params (D:\nodejs\gisPic\node_modules\express\lib\router\index.js:335:12)
at next (D:\nodejs\gisPic\node_modules\express\lib\router\index.js:275:10)
at logger (D:\nodejs\gisPic\node_modules\morgan\index.js:144:5)
问题原因:
nodejs 做为服务器,在传输内容或者上传文件时,系统默认大小为100kb
解决的方法:
var express = require('express'); var app = express(); var bodyParser = require('body-parser'); app.use(bodyParser.json({limit: '5000mb'})); app.use(bodyParser.urlencoded({limit: '5000mb', extended: true}));
注:
一定要写到其他app.use()上边,不要追加到末尾