天天看點

将blob對象轉二進制buffer

一直做了一個websocket的項目,,接的是第三方接口,第三方接口有一個node案例,案例中,通過websocket傳回的資料是直接是buffer對象,然後通過第三方庫pako,進行解壓。

      但是在用戶端,傳回的資料是blob二進制資料,那麼怎麼将它向用戶端進行解壓呢?

     最後通過 renderer 對象成功解決:

var render = new FileReader();

render.onloadend = function () {

    var ms = pako.inflate(render.result, {

        to: 'string'

    });

    var msg = JSON.parse(ms);

    if (msg.ping) {

        that.websocket.send(JSON.stringify({

            pong: msg.ping

        }));

    } else if (msg.tick) {

        var attr = msg.ch.split(".")[1];

        document.querySelector("." + that.name + attr).innerHTML = parseFloat(msg.tick.close);

    }

};

render.readAsBinaryString(e.data);