如何检索Cloudinery上传的图片并将其删除?

时间:2016-11-24 09:35:34

标签: javascript html meteor

情况:我使用lepozepo:cloudinary软件包在Meteor app上实现图片上传作为个人资料图片。因此每个用户都有1个个人资料图片上传新照片将替换照片。同样,删除它将删除唯一上传的图片。

所以我的问题是:

  • 我是否需要有一个集合来存储图像?我更喜欢 上传到云并获取基于userId显示它的URL。
  • 上传图片后,如果没有显示上传图片,如何显示已上传的图片?
  • 我认为上传会一直打开。有没有办法我可以指定最大上传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>

1 个答案:

答案 0 :(得分:1)

我想你熟悉Meteor:

  • 我是否需要有一个集合来存储图像?我更喜欢上传到云端并获取基于userId显示它的URL。

您肯定需要将结果存储在数据库中,因为这是用户的头像,而一个用户只有一个头像。所以我建议将其存储在User集合

  • 上传图片后,如果没有显示上传图片,如何显示已上传的图片?

如果您决定将图像存储在集合中,User表示ex,则在上传后需要将结果插入/更新到该集合。然后反应应该解决问题(当然你必须订阅并检索image助手内的值)

  • 我认为上传会一直打开。有没有办法可以指定1张图片的最大上传量。如果上传另一个,那么它将取代现有的?

我不太了解这个问题,但您可以在未完成的上传过程中始终停用更新表单

  • 我如何只显示最新上传的图片?

上传后,只需将最新结果更新到您的数据库。