Er is geen manier om een huidige url-afbeelding bij te werken met FSCollection (in dit geval de afbeelding), controleer dit Github-probleem
,waar Raix en Aldeed praten over toekomstig werk zoals FS.File.updateData()
, maar het is nog niet geïmplementeerd.
Een mogelijke oplossing is dit.
Template.example.events({
'click #changeImage':function(event,template){
var message = confirm("Do you wanna change this image?");
if(message == true){
var file = $('#changeImageInput').get(0).files[0],
newFile = new FS.File(file);
newFile.metadata = {
createdBy:Meteor.userId(),
}
var query = Images.findOne({'metadata.createdBy':Meteor.userId()}) //supposing there is only one image if not use a .fetch() and a for instead.
//removing the current image.
Images.remove({_id:query._id},function(err,result){
//if there is not error removing the image, insert new one with the same metadata
if(!err){
Images.insert(fsFile,function(){
if(!err){
console.log("New image get upload")
}
})
}
});
}else{
console.log("user don't want to change the image")
}
}
})