编程语言
首页 > 编程语言> > javascript – Node.js错误:参数太多上传批量数据时出错

javascript – Node.js错误:参数太多上传批量数据时出错

作者:互联网

我有一项任务是通过csv文件批量上传用户数据.我正在使用nodejs和表达框架.当我提交具有60到70行的csv文件时,它工作正常,但是当它超过70行时,它开始给服务器错误太多参数.经过一些研究,我得出结论,它可能是身体解析器大小的问题,所以我尝试了This blog,但它没有工作错误仍然是相同的.

这是我的身体解析器代码:

var cookieParser = require('cookie-parser');
var bodyParser = require('body-parser');
app.use(cookieParser());
app.use(bodyParser({limit: '50mb'}));
app.use(bodyParser.json({limit: '50mb'}));
app.use(bodyParser.urlencoded({ extended: false }));

错误信息:

2016-04-19T10:29:45.299Z - error: [req#d3a1fa1a-278e-496e-9cb1-b3a944e3d1c8/app] [App] Error: too many parameters Error: too many parameters
    at queryparse (d:\Git\gap-vm 13416\node_modules\body-parser\lib\types\urlencoded.js:119:17)
    at parse (d:\Git\gap-vm 13416\node_modules\body-parser\lib\types\urlencoded.js:64:9)
    at d:\Git\gap-vm 13416\node_modules\body-parser\lib\read.js:91:18
    at IncomingMessage.onEnd (d:\Git\gap-vm 13416\node_modules\raw-body\index.js:136:7)
    at IncomingMessage.g (events.js:273:16)
    at emitNone (events.js:80:13)
    at IncomingMessage.emit (events.js:179:7)
    at endReadableNT (_stream_readable.js:906:12)
    at nextTickCallbackWith2Args (node.js:474:9)
    at process._tickCallback (node.js:388:17)

所以,谁能告诉我哪里出错了.任何建议都会有所帮助. Thanx提前.

解决方法:

正如其他人所提到的,您需要设置parameterLimit来处理“太多参数”错误.您可能还需要将限制设置为更大的大小以避免加载大小错误.对于CSV,将应用urlencoded限制,但其他人也可能也想要设置JSON限制.除非代码中有其他位置覆盖这些设置,否则以下设置将起作用:

var bodyParser = require('body-parser');
app.use(bodyParser.json({limit: '50mb'}));
app.use(bodyParser.urlencoded({limit: '50mb', extended: true, parameterLimit: 1000000}));

标签:javascript,node-js,body-parser
来源: https://codeday.me/bug/20191006/1860938.html