我目前在上传大于10mb的文件时遇到问题。我将它们上传到s3桶。
我试图在使用bodysarser的中间件中构建的skipper中设置限制。
order: [
'cookieParser',
'session',
'myRequestLogger',
'bodyParser',
'compress',
'poweredBy',
'router',
'www',
'favicon',
],
myRequestLogger: function (req, res, next) {
sails.log("Requested :: ", req.method, req.url);
return next();
},
/***************************************************************************
* *
* The body parser that will handle incoming multipart HTTP requests. *
* *
* https://sailsjs.com/config/http#?customizing-the-body-parser *
* *
***************************************************************************/
bodyParser: (function _configureBodyParser() {
var skipper = require('skipper');
var middlewareFn = skipper({
strict: true,
limit: '50mb'
});
return middlewareFn;
})(),
这似乎没有使用设置的限制属性。
对此有任何建议会有所帮助。
我不完全确定你在哪里找到了船长的limit
选项,但限制文件大小的上传有点记录在skipper-s3和skipper之间。
在动作/控制器中接收上传时指定maxBytes
选项应该有效。
如果您要将文件上传到多个动作/控制器,那么我会将最大文件大小保存在某个地方,例如sails.config.custom.maxUploadFilesize
,因此有一个地方可以配置它 - 找不到任何全局的Skipper选项,但我可能错过了它。
const MAX_UPLOAD_BYTES = 10 * 1024 * 1024;
req.file('avatar')
.upload({
// Required
adapter: require('skipper-s3'),
key: 'thekyehthethaeiaghadkthtekey',
secret: 'AB2g1939eaGAdesoccertournament',
bucket: 'my_stuff',
maxBytes: MAX_UPLOAD_BYTES
}, function whenDone(err, uploadedFiles) {
if (err) {
return res.serverError(err);
}
return res.ok({
files: uploadedFiles,
textParams: req.params.all()
});
});