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()上边,不要追加到末尾

posted @ 2021-01-22 21:53  慕尘  阅读(2949)  评论(0编辑  收藏  举报