今天有人的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()上邊,不要追加到末尾