Meteor如何使用lepozepo上传文件到cloudinary:cloudinary Firefox?

时间:2017-01-31 16:12:45

标签: javascript node.js firefox meteor cloudinary

我已经搜索了stackoverflow这个问题,但它们看起来很相似(实际上并不是同一个问题),而有些则有完全相反的问题。

这是我的代码:

    Cloudinary.upload(file, {
        folder: "images",
        type: "private"
        }, (err, res) => {
            if(err) {
                console.log("Upload Error: ", err);
                alert("Sorry, there was an error uploading the image");
                return;
            }

            if (res) {
                console.log("Upload Result: ", res);
            }

        });

上面的代码适用于safari和chrome但在firefox上失败。它让我疯了!

Firefox抛出错误说:

File.lastModifiedDate is deprecated. Use File.lastModified instead.
SyntaxError: JSON.parse: unexpected end of data at line 1 column 1 of the JSON data[Learn More]  lepozepo_cloudinary.js:224:20
Cloudinary._upload_file/</<

不确定这里的问题是什么,感谢任何帮助。感谢。

1 个答案:

答案 0 :(得分:0)

尝试这种方法。在“上传”下的Cloudinary管理员“设置”中。在签名或未签名

之间进行选择

<强>客户端

$.cloudinary.config({
    cloud_name: 'your-cloud-name',
    api_key: '1234xxxxxxxxxx'
});

let files = event.currentTarget.your_form_field_name.files;

 return Cloudinary.upload(files, {

 }, function(err, res) {
           if (err) {
              console.error(err);
           } else {          
              /** Do something with the response **/  
 });

服务器

//cloudinary
Cloudinary.config({
    cloud_name: 'your-cloud-name',
    api_key: '1234xxxxxxxx',
    api_secret: '5678xxxxxxxx'
});

Cloudinary.rules.signature = function() {
    return this.userId;
};

请注意,如果您正在执行未签名的请求,则可能不需要签名