画像のアップロードを許可するために CollectionFS を使用しています。画像のアップロードは、特定の に属している必要がありposts
ます。ドキュメントの手順に従いました - FS.File 参照をオブジェクトに保存します- しかし、関連する投稿の画像を表示するのに苦労しています。
現在post
、image._id を参照する postImage で保存しています - この部分は正常に動作しています。ただし、コレクションから写真を取得する必要があるため、実際の写真を表示する方法がわかりませんimages
(post
コレクションは参照する ID を保存するだけです)。
post-list.html
<template name="postList">
<tr data-id="{{ _id }}" class="{{ postType }}">
...
<td><textarea name="postContent" value="{{ postContent }}"></textarea> </td>
<td>{{ postImage._id }} </td> // This currently displays the correct image._id, but I would like to display the image,
<td><button class="delete tiny alert">Delete</button></td>
</tr>
</template>
post-list.js
Template.postList.helpers({
posts: function() {
var currentCalendar = this._id;
return Posts.find({calendarId: currentCalendar}, {sort: [["postDate","asc"]] });
}
});
post-form.js - このフォームは新しい投稿と画像を作成します。Image._id は Post.postImage に保存されます。
Template.postForm.events({
// handle the form submission
'submit form': function(event) {
// stop the form from submitting
event.preventDefault();
// get the data we need from the form
var file = $('.myFileInput').get(0).files[0];
var fileObj = Images.insert(file);
var currentCalendar = this._id;
var newPost = {
...
calendarId: currentCalendar,
owner: Meteor.userId(),
postImage: fileObj,
};
// create the new poll
Posts.insert(newPost);
}
});