流星:Cloudinary

Jos*_*rio 5 html javascript meteor cloudinary

我正在尝试使用Lepozepo/cloudinary上传照片

这是我的服务器和客户端配置

服务器:

Cloudinary.config({
  cloud_name: '*****',
  api_key: '******',
  api_secret: '********'
});
Run Code Online (Sandbox Code Playgroud)

客户:

$.cloudinary.config({
  cloud_name: "*******"
});
Run Code Online (Sandbox Code Playgroud)

我试图用表格上传图片

HTML表单代码:

<form>
   <input type="file" id="userimage" name="userimage"/>
   <button type="submit">Upload</button>
</form>
Run Code Online (Sandbox Code Playgroud)

这是我的这个模板的事件

Template.signup.events({
    // Submit signup form event
    'submit form': function(e, t){
        // Prevent default actions
        e.preventDefault();

    var file = $('#userimage')[0].files[0];
    console.log(file)
    Cloudinary.upload(file, function(err, res) {
          console.log("Upload Error: " + err);
          console.log("Upload Result: " + res);
        });
    }       
});
Run Code Online (Sandbox Code Playgroud)

当我点击上传按钮没有任何反应时,我只是出错了

 error: uncaught TypeError: Failed to execute 'readAsDataURL' on `'FileReader': parameter 1 is not of type 'Blob'.`
Run Code Online (Sandbox Code Playgroud)

我能做些什么来完成这项工作?

Jos*_*rio 2

我找到一个方法来解决它。

  1. Lepozepo/cloudinaryCloudinary.upload方法文件参数是一个数组,我只需添加以下代码:

    var files = []
    var file = $('#userimage')[0].files[0];
    files.push(file)
    console.log(files)
    
    Run Code Online (Sandbox Code Playgroud)

而且效果很好