Meteor 和 Cloudinary - 回调未触发

Meteor and Cloudinary - Callback not firing

正在尝试将 Cloudinary 添加到我的 Meteor 应用程序。

图片未进入 Cloudinary 媒体库,上传函数回调未触发。我知道之前出现过问题,但我所做的似乎无济于事:

https://github.com/Lepozepo/cloudinary/issues/21

Template.commentSubmit.events({
    'submit form': function(e, template) {
    e.preventDefault();

    var image = Session.get('photo'); // get image from mdg:camera
    //console.log(image);

    Cloudinary.upload(image, function(err, res) {
      if (err){
        console.log("Error: " + err);
        return;
      }
      console.log("Success: " + res);
    });

// code adding comment and image to mongodb

});

服务器:

Cloudinary.config({
  cloud_name: '****',
  api_key: '****',
  api_secret: '*****'
});

客户:

$.cloudinary.config({
  cloud_name: "******"
});

如果我手动将图像上传到 Cloudinary 仪表板,它显示图像没有问题。使用最新版本的 Meteor 和 lepozepo:cloudinary

感谢任何和所有帮助/建议! :)

更新 - 让它与此一起工作:

var image = Session.get('photo');

if(image){ // check if post also includes image
  var files = [];
  files.push(dataURLtoBlob(image));

  let options = {
    folder: "app",
    image_metadata: true
  };

  var imageURL = ""; // loading gif

  Cloudinary.upload(files, options, function(err, res) {

      if (err){
        console.log("Error: " + err);
        return;
      }
      //console.log(res);
      imageURL = res.secure_url;
      //console.log(imageURL);

  });

}

i 运行 进入同一个问题,"solved" 通过使用较早版本的软件包。我的 .meteor/packages 现在有这个:

lepozepo:cloudinary@=4.2.2

更新:

我没有使用 mdg:camera 来获取数据,只是一个简单的输入。在桌面上,它显示文件浏览器。在 iOS 上,它显示 "Take picture / Choose from library" 面板。 (它也适用于 Android)。

代码如下所示:

html:

<input type="file" id="upload-image" class="file_bag" accept="image/*">

js:

'change #upload-image': function(event, template) {
    event.preventDefault();

    let files = $('input.file_bag')[0].files;

    let options = {
        folder: Meteor.userId(),
        image_metadata: true
    };

    Cloudinary.upload(files, options, function(error, result) {
        console.log(result.public_id);
    });
}