Sails.js bodyParser - 在版本0.10.5上请求实体太大

时间:2015-02-11 17:03:06

标签: express sails.js skipper

我正在尝试将大量数据发布到我的sails API中,我收到413错误:

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

我在不同的讨论中尝试了很多解决方案,但它从未起作用,似乎适用于以前的sails版本。 (它始终是关于更改bodyParser选项)

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

2 个答案:

答案 0 :(得分:4)

  

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

看看这个解决方案(sails v.0.11.0,config / http.js):

module.exports.http = {

  middleware: { ... },

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

答案 1 :(得分:2)

您可能还想添加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);
   })()
}