奥斯特里奥:文件& Meteor删除文件

时间:2018-05-21 20:28:39

标签: javascript meteor

我目前正在使用ostrio:文件来管理我的图片库。 我没有找到关于如何删除/删除以编程方式插入和上传的图像的文档。 以下是关于气氛的官方文件:https://atmospherejs.com/ostrio/files

有没有人有想法?

1 个答案:

答案 0 :(得分:2)

有关于如何从集合中删除文件的文档:

https://github.com/VeliovGroup/Meteor-Files/wiki/remove

在此页面上:https://github.com/VeliovGroup/Meteor-Files/wiki/AWS-S3-Integration

有一些代码可以拦截文件删除:

  // Intercept FilesCollection's remove method to remove file from AWS:S3
  const _origRemove = UserFiles.remove;
  UserFiles.remove = function (search) {
    const cursor = this.collection.find(search);
    cursor.forEach((fileRef) => {
      _.each(fileRef.versions, (vRef) => {
        if (vRef && vRef.meta && vRef.meta.pipePath) {
          // Remove the object from AWS:S3 first, then we will call the original FilesCollection remove
          s3.deleteObject({
            Bucket: s3Conf.bucket,
            Key: vRef.meta.pipePath,
          }, (error) => {
            bound(() => {
              if (error) {
                console.error(error);
              }
            });
          });
        }
      });
    });

    //remove original file from database
    _origRemove.call(this, search);
  };
} else {
  throw new Meteor.Error(401, 'Missing Meteor file settings');
}