2017-05-26 76 views
0

我試圖通過WebSocket傳輸圖像,然後將其顯示在網頁上。圖像以blob的形式發送。如何將blob數據轉換爲JavaScript中的圖像?

websocket.onmessage = function (event) { 
    document.getElementById("foto").src = "data:image/png;event.data)"; 
}; 

我得到這個錯誤:

Failed to load resource: net::ERR_INVALID_URL

回答

0

應該

document.getElementById("foto").src = "data:image/png;" + event.data; 

假設event.data是實際的數據作爲一個字符串。

0

試試這個:

let urlObject; 

socket.onmessage = function(msg) { 
    const arrayBuffer = msg.data; 
    const image = document.getElementById('image'); 

    if (urlObject) { 
     URL.revokeObjectURL(urlObject) // only required if you do that multiple times 
    } 
    urlObject = URL.createObjectURL(new Blob([arrayBuffer])); 

    image.src = urlObject; 

}; 
+0

一定要檢查'socket.binaryType'是' 「arraybuffer」' – Cauterite

+0

是可能可以幫助 –