Изменить ограничение HTTP-запроса в Sailsjs
У меня в запросе 413 Request Entity Too Large, потому что я отправляю несколько URI-изображений в кодировке base64, и это много символов.
Во всяком случае, я не могу найти способ продлить этот предел в SailJS. Судя по всему, Sails используют Skipper для bodyParser, но я не могу найти ничего в документации шкипера.
Я думаю, это в файле конфигурации http...
Если кто-то может сказать мне, как:) Спасибо!
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
});
});
Но они сказали, что это в настоящее время все еще экспериментально. Посмотрите на Документы этого Шкипера.
Это решение работает для нас https://github.com/balderdashy/sails/issues/2653
Sails использует шкипер для парсера. Вы можете настроить или изменить конфигурацию шкипера по умолчанию, создав промежуточное программное обеспечение в config/http.js:
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'
]
Надеюсь, это полезно.