我的任务是通过 csv 文件批量上传用户数据。我正在使用 nodejs
和 express
框架。当我提交具有 60 到 70 行的 csv 文件时它工作正常,但是当它超过 70 行时它开始给服务器错误太多参数。经过一些研究,我得出结论,这可能是正文解析器大小的问题,所以我尝试了 这个博客,但没有成功,错误仍然存在。
这是我的正文解析器代码:
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)
所以,谁能告诉我哪里出错了。任何建议都会有所帮助。提前谢谢。
原文由 Anonymous 发布,翻译遵循 CC BY-SA 4.0 许可协议
正如其他人提到的,您需要设置
parameterLimit
来处理“太多参数”错误。您可能还需要将limit
设置为更大的大小以避免加载大小错误。在 CSV 的情况下,将应用 urlencoded 限制,但其他人可能也想设置 JSON 限制。以下设置将起作用,除非代码中有其他地方覆盖了这些设置: