Показать изображение из большого двоичного объекта с помощью javascript и websockets

В настоящее время я работаю над приложением WebSocket, которое отображает изображения, отправленные сервером C++.Я видел там пару тем, но не могу избавиться от этой ошибки в Firefox:

Изображение повреждено или усечено: data:image/png;base64,[некоторые данные]

Вот Код Javascript, который я использую для отображения своего блоба:

socket.onmessage = function(msg) {
    var blob = msg.data;

    var reader = new FileReader();
    reader.onloadend = function() {
        var string = reader.result;
        var buffer = Base64.encode(string);
        var data = "data:image/png;base64,"+buffer;

        var image = document.getElementById('image');
        image.src = data;
    };
    reader.readAsBinaryString(blob);
}

Я использую изображение красной точки, которое я нашел в этой теме: https://stackoverflow.com/a/4478878/1464608 И класс Base64 взят отсюда: https://stackoverflow.com/a/246813/1464608

Но результат base64, который я получаю, не совпадает, и Firefox возвращает мне ошибку изображения, которое было повреждено.

Я знаю, что информации немного, но понятия не имею, где искать :/ Любая помощь более чем приветствуется!!

26
задан Community 23 May 2017 в 12:10
поделиться