1
저는 Meteor 및 CollectionFS를 사용하여 사용자가 이미지를 저장할 수 있도록하고 있습니다. 나는 모든 사용자가 정확히 하나의 이미지를 저장할 수 있고, 두 번째 이미지를 업로드하는 경우 첫 번째 이미지를 덮어 써야합니다.유성 컬렉션이있는 사용자 당 단 하나의 이미지 CFS
"change #imageInput": FS.EventHandlers.insertFiles(Images, {
metadata: function (fileObj) {
return {
owner: Meteor.userId()
};
},
after: function (error, fileObj) {
}
});
서버 측 :
Images = new FS.Collection("images", {
stores: [
new FS.Store.FileSystem("thumbs", {
transformWrite: function(fileObj, readStream, writeStream) {
// Transform the image into a 10x10px thumbnail
gm(readStream, fileObj.name()).resize('125', '125').stream().pipe(writeStream);
}
})
],
});
Images.allow({
insert: function (userId, file) {
return userId && file.owner === userId;
},
update: function (userId, file, fields, modifier) {
return userId && file.owner === userId;
},
remove: function (userId, file) {
return userId && file.owner === userId;
},
download: function(userId, file) {
return true;
}
})
새로운 이미지가 {소유자와 모든 이미지를 업로드됩니다 : Meteor.userId
는 클라이언트 측에 나는 파일을 업로드 도우미 기능을 사용()}을 삭제해야합니다. 제 질문은 이걸 넣을 곳이 어디죠? 서버 측에서 afterWrite와 같은 후크를 삽입하는 방법을 찾지 못했습니다.
난 정말이 API를 사용하지 않는하지만 난 오류가 모든 사용자 이미지를 찾을 수없고 모두 제거가 존재하는 경우는, 이벤트 이후에해야한다고 생각하지만,이 사람은 이미 삽입 : 이 당신을 도움이 될 것입니다 – Sindis