html 顯示 二進制jpeg圖像


做了個簡單的socket.io服務器,以不斷推送圖片的方式進行“直播”

那么后端是把圖片以jpeg編碼成二進制格式,直接emit

前端該如何顯示? 搞了半天還是半懂不懂的,但是湊合搞定了。

 

<body>
    <img id="player" style="width:704px;height:576px"/>
</body>

 

首先,接收到的是個arrayBuffer

 

關鍵是通過  arrayBuffer -> 轉 base64,

參考

https://blog.csdn.net/weixin_30906425/article/details/99002648

 

    function arrayBufferToBase64(buffer) {
        var binary = '';
        var bytes = new Uint8Array(buffer);
        var len = bytes.byteLength;
        for (var i = 0; i < len; i++) {
            binary += String.fromCharCode(bytes[i]);
        }
        return window.btoa(binary);
    }

 然后<img> .src 就可以顯示了

    var player = document.getElementById('player');
      var url= arrayBufferToBase64(data);
      player.src='data:image/jpeg;base64,'+url;

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM