将canvas base64图像上传到parse.com时,图像链接已断开

时间:2013-08-01 13:30:23

标签: javascript jquery html parse-platform

我的应用程序只是html和javascript。以下是我在parse.com上保存base64 imgData的代码片段

var parseFile = new Parse.File("mypic.jpeg", {base64:imgData});
                parseFile.save().then(function(data) {
                    console.log("Got it!");
                    console.log("Ok");
                    console.dir(data);

                }, function(error) {
                    console.log("Error");
                    console.log(error);
                });

我的疑问是如何在保存后获取图像源。

我正在获取图片网址console.log(data._url),但网址已损坏。

你能帮忙摆脱这个问题。我想获得保存的图片网址。纠正我的地方我错了。

先谢谢。

2 个答案:

答案 0 :(得分:3)

我认为你必须将parseFile.url()用于save的promise函数。

var parseFile = new Parse.File("mypic.jpeg", {base64:imgData});

parseFile.save().then(function(data) {
        console.log("Got it!");
        console.log("Ok");
        console.dir(data);  
        console.log(parseFile.url());
    }, function(error) {
        console.log("Error");
        console.log(error);
    }
);

答案 1 :(得分:3)

得到解决方案..

base64图片问题没有上面的代码片段。 谢谢@Ivan

修改
问题在于有效的base64图像数据。 以前我没有向parse.com发送有效的base64映像(imgData)。 我的imgDatacanvas.todataURL()数据,我直接将此图片发送到

var imgData = canvas.toDataURL("image/jpeg");
var parseFile = new Parse.File("mypic.jpeg", {base64:imgData});

完成以下更改后

    var dataURL = canvas.toDataURL("image/jpeg");
    var imgData= dataURL.replace(/^data:image\/(png|jpeg);base64,/, "");
    var parseFile = new Parse.File("mypic.jpeg", {base64:imgData});