HTML5 / Javascript - DataURL to Blob & Blob to DataURL

前端 未结 2 2032
面向向阳花
面向向阳花 2020-12-02 08:49

I have a DataURL from a canvas that shows my webcam. I turn this dataURL into a blob using Matt\'s answer from here: How to convert dataURL to file object in javascript?

2条回答
  •  旧巷少年郎
    2020-12-02 09:14

    Use my code to convert between dataURL and blob object in javascript. (better than the code in your link.)

    //**dataURL to blob**
    function dataURLtoBlob(dataurl) {
        var arr = dataurl.split(','), mime = arr[0].match(/:(.*?);/)[1],
            bstr = atob(arr[1]), n = bstr.length, u8arr = new Uint8Array(n);
        while(n--){
            u8arr[n] = bstr.charCodeAt(n);
        }
        return new Blob([u8arr], {type:mime});
    }
    
    //**blob to dataURL**
    function blobToDataURL(blob, callback) {
        var a = new FileReader();
        a.onload = function(e) {callback(e.target.result);}
        a.readAsDataURL(blob);
    }
    
    //test:
    var blob = dataURLtoBlob('data:text/plain;base64,YWFhYWFhYQ==');
    blobToDataURL(blob, function(dataurl){
        console.log(dataurl);
    });
    

提交回复
热议问题