如何从 Meteor CollectionFS 检索单个图像 URL?

How to retrieve single image URL from Meteor CollectionFS?

我需要从 CollectionFS 检索图像的 URL。图片 ID 在 post 中引用,所以首先我找到属于某个 post 的图片,如下所示:

模板:

{{#each drafts}}
    <img src='{{images pictures.[0]}}'>
{{/each}}

助手:

images: function (id) {
    console.log(id);
    console.log((Images.findOne()));
    return Images.findOne({_id:id});
}

根据 CollectionFS 示例,您可以使用 {{image.url}} 获取 URL 图像,但在我的情况下,{{images.url 图片。[0]}} 确实如此不工作并且 return 控制台出现把手错误。在我的案例中访问 images.url 数据的正确方法是什么?

在helper中你可以这样调用:

var image = Images.findOne({_id:id});
return image.url();

实际上没有理由使用 Template.helper 访问 URL,FSCollections 附带一个方便的 UI-helpers ,您可以像这样使用它。

{{#each drafts}}
    URL: {{this.url}}
    <img src='{{this.url}}'>
{{/each}}

只要确保您有正确的下载许可

Images.allow({
 download:function(){return true;}
})

FYI 如果你使用 findOne 不可能使用 {{#each}} 你应该使用 {{#with}} 因为每个助手只接受数组和对象

勾选Understanding SpaceBars