流星合集fs禁止上传

meteor collection fs forbid upload

我想在特殊情况下禁止上传/存储文件。

hook之前在collectionfs中试过:

Attachments.files.before.insert((userId, doc) => {
  if(!Meteor.isServer){
    if (!isUploadAllowed()) {
      throw new Meteor.Error('Upload not allowed');
    }
  }
}

不幸的是,这不起作用。

有没有更好的方法来实现这个?或者有人可以帮助我吗?

(一个丑陋的解决方案是删除 after.insert 挂钩中上传的文档,我希望有更好的方法)

您可以将此集合对所有客户端操作的拒绝设置为 false:

const Attachments.files = new Mongo.Collection('fs.files')
Attachments.files.deny({
  insert () { return true },
  update () { return true },
  remove () { return true }
})

这默认拒绝任何与服务器同步的客户端操作。