使用collectionFS显示多个商店

时间:2014-06-26 14:26:50

标签: javascript jquery meteor graphicsmagick

您知道如何展示特定商店吗?我有两家商店。

我使用包cfs-ejson通过imageObj字段将图像存储在我的集合中的字段中

var imageStore = new FS.Store.S3("mains", {
  accessKeyId: "XXXXXXX", 
  secretAccessKey: "XXXXXXX", 
  bucket: "XXXXXXX",
  transformWrite: function(fileObj, readStream, writeStream) {
          gm(readStream, fileObj.name()).resize('500', '500').stream().pipe(writeStream);
  }

});

var thumbStore = new FS.Store.S3("thumbs", {
  accessKeyId: "XXXXXXX", 
  secretAccessKey: "XXXXXXX", 
  bucket: "XXXXXXX",
  transformWrite: function(fileObj, readStream, writeStream) {
          gm(readStream, fileObj.name()).resize('100', '100').stream().pipe(writeStream);
  }
});


Images = new FS.Collection("images", {
  stores: [imageStore, thumbStore]
});

我试图通过{{photo.url store =" mains"但它只是获得缩略图版本。

似乎只是在s3存储桶中保存一个图像,也许我需要将缩略图设置为具有不同的文件名?

1 个答案:

答案 0 :(得分:3)

您可以添加(现在没有记录)folder参数到存储选项。

new FS.Store.S3("thumbs", {
  bucket: "XXXXXXX",
  folder: "thumbs"
}

这将附加到文件密钥之前的路径。

否则你会在文件保存中遇到竞争条件,这就是为什么你得到缩略图版本,即使你指定" mains"。