在Sailsjs中更改http请求限制

问题描述 投票:0回答:2

我在请求中有一个413请求实体太大,因为我发送了几个URI图像base64编码,这是很多字符。

无论如何,我找不到在Sails JS中扩展此限制的方法。显然Sails使用Skipper作为bodyParser,但我在skipper doc中找不到任何东西。

我想这是在http配置文件中...

如果有人可以告诉我如何:)谢谢!

javascript node.js sails.js skipper http-status-code-413
2个回答
2
投票

当您创建处理上传的控制器时,AFAIK可配置,例如:

req.file('avatar').upload({
    maxBytes : 2000000 // integer
  }, function (err, uploadedFiles) {
  if (err) return res.send(500, err);
  return res.json({
    message: uploadedFiles.length + ' file(s) uploaded successfully!',
    files: uploadedFiles
  });
});

但他们表示目前仍处于试验阶段。看看这个Skipper's Docs


1
投票

这个解决方案适用于我们https://github.com/balderdashy/sails/issues/2653

Sails使用skipper作为身体解析器。您可以通过在config / http.js中创建中间件来配置或更改默认的skipper配置:

configuredSkipperBodyParser: function () {
        var opts = {limit:'50mb'};
        var fn;

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

然后设置它而不是默认的主体解析器:

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

希望这是有帮助的。

© www.soinside.com 2019 - 2024. All rights reserved.