HTML5 / Javascript - DataURL to Blob & Blob to DataURL

前端 未结 2 2020
面向向阳花
面向向阳花 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:12

    Nevermind, it ended up working after sticking to the instructions in this thread Display image from blob using javascript and websockets and making my server forward raw (yet) unmodified BinaryWebSocketFrames.

    Now I'm still fighting bad performance of the canvas (<1fp) but that might become subject of a new thread.

    0 讨论(0)
  • 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);
    });
    
    0 讨论(0)
提交回复
热议问题