Il n'y a aucun moyen de mettre à jour une image d'URL actuelle à l'aide de FSCollection (dans ce cas, l'image), vérifiez ce problème Github
, où Raix et Aldeed parlent de travaux futurs comme FS.File.updateData()
, mais ce n'est pas encore implémenté.
Une solution de contournement possible sera celle-ci.
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")
}
}
})