是否可以为Meteor CollectionFS的每个FS.Store添加条件?
我希望在每个FS.Store之前做某种功能来检查,如果它失败了,就根本不上传。
例如,我尝试检查上传图片是否为特定尺寸。如果不是,我想停止继续上传该FS.Store。
答案 0 :(得分:0)
CollectionFS用于提供从存储上的文件,网址,blob等上传的有效方式,如数据,GridFS,S3等....在将数据上传到Collection之前,应该先处理检查要发送到服务器的数据的过程。
因为CollectionFS支持多种数据,您可以(或不)在上传内容之前过滤内容。
原因很简单,您可以在您的模板中枚举您愿意上传的文件:
Template.myForm.events({
'change .myFileInput': function(event, template) {
FS.Utility.eachFile(event, function(file) {
// Test here what you want to test on "file", return if the test failed
Images.insert(file, function (err, fileObj) {
});
});
}
});
如果您要从网址上传,则在下载内容之前显然无法检查内容....如果您要上传文件,blob,数据URL字符串,Uint8Array,数据仍然在客户端,那么您的工作就是分析它并授予或拒绝上传。