Javascript 流星和云彩-回叫不发射

Javascript 流星和云彩-回叫不发射,javascript,meteor,callback,cloudinary,Javascript,Meteor,Callback,Cloudinary,正在尝试将Cloudinary添加到我的Meteor应用程序中 图像未到达Cloudinary媒体库,且上载函数回调未启动。我知道以前有过一些问题,但我所做的一切似乎都无济于事: 服务器: Cloudinary.config({ cloud_name: '****', api_key: '****', api_secret: '*****' }); 客户: $.cloudinary.config({ cloud_name: "******" }); 如果我手动将图像上传

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

图像未到达Cloudinary媒体库,且上载函数回调未启动。我知道以前有过一些问题,但我所做的一切似乎都无济于事:

服务器:

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);

  });

}

我遇到了同样的问题,并通过使用包的早期版本“解决”了它。my.meteor/packages现在有以下功能:

lepozepo:cloudinary@=4.2.2
更新:

我不是用mdg:camera来获取数据,只是一个简单的输入。在桌面上,它显示文件浏览器。在iOS上,它显示“拍照/从库中选择”面板。(它也可以在Android上运行)

代码如下所示:

html:


我遇到了同样的问题,并通过使用包的早期版本“解决”了它。my.meteor/packages现在有以下功能:

lepozepo:cloudinary@=4.2.2
更新:

我不是用mdg:camera来获取数据,只是一个简单的输入。在桌面上,它显示文件浏览器。在iOS上,它显示“拍照/从库中选择”面板。(它也可以在Android上运行)

代码如下所示:

html:


谢谢zim。我降低了cloudinary软件包的级别。我现在收到此错误:
uncaughttypeerror:未能在“FileReader”上执行“readAsDataURL”:参数1不是“Blob”类型。at functions.coffee:67 at Function.each.forEach(下划线.js?hash=cde485f…:152)
我尝试给它一个数组作为参数,并改用_upload_file函数,但没有成功。我想知道来自
Session.get('photo')的数据
cloudinary函数的文件类型是否正确?@sutebu,您是否尝试过使用输入标记?我已经更新了我的答案,谢谢@zim!让它和你的输入标签一起工作。这表明这不是其他问题,因此我尝试使用以下方法将我的base64 imageURL转换为blob:Works great!:)谢谢zim。我降低了cloudinary软件包的级别。我现在收到此错误:
uncaughttypeerror:未能在“FileReader”上执行“readAsDataURL”:参数1不是“Blob”类型。at functions.coffee:67 at Function.each.forEach(下划线.js?hash=cde485f…:152)
我尝试给它一个数组作为参数,并改用_upload_file函数,但没有成功。我想知道来自
Session.get('photo')的数据
cloudinary函数的文件类型是否正确?@sutebu,您是否尝试过使用输入标记?我已经更新了我的答案,谢谢@zim!让它和你的输入标签一起工作。这表明这不是其他问题,因此我尝试使用以下方法将我的base64 imageURL转换为blob:Works great!:)
<input type="file" id="upload-image" class="file_bag" accept="image/*">
'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);
    });
}