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

时间:2015-03-30 13:12:23

标签: meteor handlebars.js spacebars collectionfs

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

模板:

{{#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 pictures。[0]}}不起作用,并向控制台返回一个把手错误。在我的情况下访问images.url数据的正确方法是什么?

2 个答案:

答案 0 :(得分:2)

在帮手中你可以这样打电话:

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

答案 1 :(得分:1)

实际上没有理由使用URL访问Template.helper,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