Search code examples
javascriptparse-platformblobblobstorage

How to upload blob to Parse?


I am trying to upload blob to Parse. I can get a file to upload just fine, but I am trying to upload a blob that I get from canvas after doing a crop in Javascript. The line that I use to define a new parse File to be uploaded looks like this

var parseFile = new Parse.File("some_file_name.png", file);

Since the Blob Object is basically a File object without the meta attributes, I was hoping to be able to do something like this..

var parseFile = new Parse.File("some_file_name.png", blob);

But the result of this is parseFile being 'undefined'. And I thus cannot call subsequent methods to continue with the upload.

I can't seem to find any info anywhere else, and was hoping someone with a little more insight may know if I am missing something or on the wrong path. Any help is greatly appreciated!


Solution

  • It turns out that I can achieve the desired result by creating a Parse File object with the Base64 Data Url directly, instead of trying to create a Blob first.

    var url          = canvas.toDataURL("image/png");
    var base64       = url.split('base64,')[1];
    var parseFile    = new Parse.File(name, { base64: base64 });
    

    I found the answer here..

    converting dataURI to File to use in Parse - javascript

    Hope it helps someone!