这是一次使用gridfs上传和显示图片的尝试。
这放置在服务器和客户端上:
var imageStore = new FS.Store.GridFS("images", {});
Images = new FS.Collection("images", {
stores: [imageStore],
filter: {
maxSize: 6048576 // in bytes
}
});
Images.allow({
insert: function () {
return true;
},
update: function () {
return true;
},
download: function () {
return true;
}
});
模板:
<template name="imageView">
<div class="imageView">
{{#each images}}
<div>
<img src="{{this.url store='images'}}" alt="" class="thumbnail" />
</div>
{{/each}}
</div>
</template>
此模板的助手:
Template.imageView.helpers({
images: function () {
return Images.find(); // Where Images is an FS.Collection instance
}
});
我发布图像集:
Meteor.publish("images", function () {
return Images.find({});
});
我在我的路线中订阅了这些图片:
waitOn: function () {
return this.subscribe('images');
}
其中大部分是从collectionFS github页面复制粘贴的,但它仍然没有显示任何图像。这是上传图片后在我的数据库中的外观:
现在这有什么问题?我仍然没有看到任何图像。