如何在上传之前validation文件types使用SailsJS Skipper

作为标题,现在我无法检查上传之前的文件types。 我只validationfile upload成功后不允许保存数据。 以下是一个基本的代码

updateAvatar : function(data, context, req, res) { req.file('avatar').upload({ dirname: '../../assets/images/avatar' }, function (err, files) { var allowExts = ['image/png', 'image/gif', 'image/jpeg']; if (err) return res.serverError(err); if (files.length === 0) return res.badRequest('No file was uploaded!'); if (allowExts.indexOf(files[0].type) == -1) return res.badRequest('File type is not supported!'); // save database here }); } 

我应该怎样做正确的代码? 对不起,我的英语不好! 非常感谢!

这让我花了不less时间来研究,所有的信用给了Darkstra谁给了我们可以得到的原始文件属性,如内容types,甚至是文件名,我们可以拆分文件扩展名,做我们的检查

你可以在这里查看他的答案

主要的是注意到这一点

req.file('foo')._files[0].stream包含我们需要处理的所有文件,你可以通过console.log来查看它的内容。

谢谢,至less你可以对你的select进行任何操纵。