2015-02-11 67 views
3

我想了很多数据发布到我的帆API和我得到这个错误413过大:Sails.js bodyParser - 请求实体的版本0.10.5

Unable to parse HTTP body- error occurred - Error: request entity too large 

我已经尝试了很多解决方案建议在不同的讨论中,但它从来没有工作,似乎是以前的风帆版本。 (它总是关于改变bodyParser选项)

有没有人知道风帆0.10.5的正确语法? 非常感谢!

+2

第一:没有帆0.10.15。第二:sails中的bodyParser只是express体解析器中间件;你能发布你发送的实际请求吗? – 2015-02-13 03:54:16

+0

对不起,这是一个错字,它是0.10.5。 实际的请求是大的(2M),它在小的时候有效。我只是想改变默认限制。 – sheoak 2015-02-14 09:14:47

+0

我得到同样的问题。 – 2015-02-14 09:27:56

回答

4

Does anybody know the correct syntax for sails 0.10.5? Thanks a lot!

在这个分辨率(帆v.0.11.0,配置/ http.js)请看:

module.exports.http = { 

    middleware: { ... }, 

    bodyParser: function(){ 
    var opts = { 
     limit:'10mb' 
    } 
    return require('./../node_modules/sails/node_modules/skipper')(opts); 
    } 
} 
1

你可能要添加parameterLimit选项了。
这是我的工作。使用sails.js 0.12
不知何故字节库错误地解析'10mb'字符串。懒惰检查正则表达式,所以我只是直接输入一个数字。

代码片段:

middleware: { 
order: [ 
    'startRequestTimer', 
    'cookieParser', 
    'session', 
    'bodyParser', 
    'handleBodyParserError', 
    'compress', 
    'methodOverride', 
    'poweredBy', 
    '$custom', 
    'router', 
    'www', 
    'favicon', 
    '404', 
    '500' 
], 

bodyParser: (function() { 
    var opts = {limit:10000000, parameterLimit:10000}; 
    var fn; 

    // Default to built-in bodyParser: 
    fn = require('skipper'); 
    return fn(opts); 
    })() 
} 
+0

现在我不能尝试它,但它似乎很有趣。将竭尽全力! – sheoak 2016-12-08 04:02:20