情况:我使用lepozepo:cloudinary软件包在Meteor app上实现图片上传作为个人资料图片。因此每个用户都有1个个人资料图片上传新照片将替换照片。同样,删除它将删除唯一上传的图片。
所以我的问题是:
代码。 ** config.js已在服务器和客户端上设置。
1)profile.js
Template.profile.events({
'submit form': function(e, t) {
e.preventDefault();
var files = [];
var file = $('#userimage')[0].files[0];
files.push(file);
console.log(files);
Cloudinary._upload(files[0], {}, function(err, res) {
if (err){
console.log("Error: " + err);
} else {
console.log("Success :" + res);
}
});
}
});
2)profile.html
<form>
<input type="file" id="userimage" name="userimage" class='upload_field cloudinary_fileupload' />
<div class="progress_bar" style='background-color: red, height: 20px'>
<div class='thumbnails'></div>
<button type="submit"> Upload </button>
<button type="delete"> Clear </button>
</form>
答案 0 :(得分:1)
我想你熟悉Meteor:
您肯定需要将结果存储在数据库中,因为这是用户的头像,而一个用户只有一个头像。所以我建议将其存储在User
集合
如果您决定将图像存储在集合中,User
表示ex,则在上传后需要将结果插入/更新到该集合。然后反应应该解决问题(当然你必须订阅并检索image
助手内的值)
我不太了解这个问题,但您可以在未完成的上传过程中始终停用更新表单
上传后,只需将最新结果更新到您的数据库。