Bar*_*nni 6 javascript middleware node.js sails.js body-parser
我试图改变Sails JS应用程序的设置,并且有点麻烦将参数传递给body-Parser以更改默认设置.
我相信通过更改默认的'limit'选项可以正确回答这个问题,因为100kb的默认大小减去formData对象的33%开销与我能够/不能发送的文件大小非常一致.所以提出的解决方案是这样的:
var bodyParser = require('body-parser');
...
app.use(bodyParser.urlencoded( { limit: 1048576 } ));
Run Code Online (Sandbox Code Playgroud)
但我无法在我的Sails应用程序中实现该解决方案.我已经阅读了关于更改中间件设置的Sails文档,并在我的config/http.js文件中尝试了以下内容...
第一次尝试 - 包装
/**
* HTTP Server Settings
* (sails.config.http)
*/
module.exports.http = {
middleware: {
order: [
'startRequestTimer',
'cookieParser',
'session',
'refreshSessionCookie',
'bodyParserInit',
'bodyParser',
'handleBodyParserError',
'compress',
'methodOverride',
'poweredBy',
'$custom',
'requestLogger',
'router',
'www',
'favicon',
'404',
'500'
],
bodyParserInit : (function (){
let bodyParser = require('body-parser');
return bodyParser( { extended: true, limit: 1073741824 } )
})(),
)
},
// cache: 31557600000
};
Run Code Online (Sandbox Code Playgroud)
第二次尝试 - 覆盖
/**
* HTTP Server Settings
* (sails.config.http)
*/
module.exports.http = {
middleware: {
order: [
'startRequestTimer',
'cookieParser',
'session',
'refreshSessionCookie',
//'bodyParserInit',
'bodyParser',
'handleBodyParserError',
'compress',
'methodOverride',
'poweredBy',
'$custom',
'requestLogger',
'router',
'www',
'favicon',
'404',
'500'
],
bodyParser: (function _configureBodyParser(){
let skipper = require('skipper');
let middlewareFn = skipper({
limit: 1073741824,
});
return middlewareFn;
})(),
)
},
// cache: 31557600000
};
Run Code Online (Sandbox Code Playgroud)
然而,这两个尝试都没有解决我的问题,因为无论我做了什么,限制仍然设置为100kb.如何正确实现这一点,以便身体解析器接受高达50kb的文件?我假设我没有正确配置或其他东西覆盖我已经完成的事情.
编辑:我正在使用Sails版本> 12.0.X
如果您使用的是 Sails > v0.12.x:
module.exports.http = {
middleware: {
// ... options
bodyParser: require('skipper')({ limit: 1073741824 })
}
};
Run Code Online (Sandbox Code Playgroud)
对于 < v0.12.x 的帆:
module.exports.http = {
middleware: {
order: [
// ... options
// 'bodyParser', <- remove bodyParser
'skipper', // <-- add skipper
],
skipper: require('skipper')({ limit: 1073741824 })
}
};
Run Code Online (Sandbox Code Playgroud)
这是文档的链接。
| 归档时间: |
|
| 查看次数: |
163 次 |
| 最近记录: |