0

这是一次使用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页面复制粘贴的,但它仍然没有显示任何图像。这是上传图片后在我的数据库中的外观:

图片1 图片 2 图片3

现在这有什么问题?我仍然没有看到任何图像。

4

1 回答 1

0

您的商店名称是registrationStorage并且您的集合名称是registrations。尝试将第二个代码段的第二行更改为:

 <img src="{{this.url store="registrationStorage"}}" /><br />
于 2015-08-03T23:24:41.453 回答