我修改了bodyParser选项大小,用于通过sails中的输入表单发布大字符串。 我是通过以下方式做到的: 我去了:node_modules / sails / lib / express / index.js 然后我替换了默认的bodyParser:
bodyParser = sails.config.express.bodyParser();
通过
bodyParser = sails.config.express.bodyParser({limit: 8248242});
我工作,但我想必须有一个更简单的方法来通过参数或其他东西来做... 我尝试在配置文件夹中创建一个express.js文件,如https://gist.github.com/mikermcneil/8249181
但它似乎没有识别快递模块...
有关通过某种参数更改bodyParser大小限制的最佳方法的建议吗? 干杯!
答案 0 :(得分:3)
谢谢斯科特!我不知道这个投票系统是如何运作的,但我很感谢你的帮助!我没有意识到express没有明确地添加到package.json中,并且sails有自己的内部单独的express分发。我在package.json中添加了express,在config文件夹中添加了一个express.js: module.exports.express = { 表达: { bodyParser:function(){ return require(' express')。bodyParser({limit:8248242}) } } };
它现在可以在npm安装后运行...非常感谢!
答案 1 :(得分:1)
预期的awswer不会与Sails v10合作。
这里有适合我的修复。
您需要安装正文解析器NPM
npm install body-parser
然后添加
bodyParser: function () { return require('body-parser')({ limit: 8248242 }) }
进入config / http.js
答案 2 :(得分:0)
这现在在Sails 1.2.3中对我有效;具体来说,在默认bodyParser
中使用示例config/http.js
:
...
bodyParser: (function _configureBodyParser(){
var skipper = require('skipper');
var middlewareFn = skipper({
// strict: true,
limit: '10mb',
});
return middlewareFn;
})(),
...