我想显示上传到MongoDB的图片 目前它显示ObjectId
Templates.coffee
Template.projectShow.helpers
projects: ->
Projects.find()
的 Projects.html
<template name="projectShow">
<h2>Projects</h2>
{{#each projects}}
{{> showTemplate}}
{{/each}}
</template>
<template name="showTemplate">
Title : {{title}} <br>
Image : {{projectImage}}
</template>
Collections.coffee
@Projects = new Meteor.Collection('projects')
@imageStore = new FS.Store.GridFS("project-images")
@Images = new FS.Collection("project-images", stores: [imageStore])
Schemas.Projects = new SimpleSchema
title:
type: String
projectImage:
type: String
autoform:
afFieldInput:
type: "fileUpload"
collection: "Images"
Projects.attachSchema(Schemas.Projects)
答案 0 :(得分:2)
您需要为showTemplate模板创建一个帮助函数,以查找文件集中所需的数据
projectImage返回存储在collectionsfs集合中的图像的id。因此,要获得实际的图像网址,您必须按照以下方式执行某些操作:(可能不是100%正确的语法,但只是为了解释流程)
Template.showTemplate.helpers({
projectImage: function(){
return Images.findOne({_id: Template.instance().data.projectImage}).url();
}
});