Как мне распаковать поток BLOB-объектов (в JavaScript), который фактически представляет содержимое файла GZIP? - PullRequest
0 голосов
/ 18 сентября 2018

При подключении через WebSocket я получаю двоичный кадр как этот , и мне сказали, что полученные данные находятся в формате GZIP.Я работаю в VueJS, поэтому мой код - код JavaScript.Когда я пытаюсь увидеть полученный ответ в окне console.log , я вижу, что этот BLOB-объект был получен.

Теперь мне нужно получить этоBlob и распаковать его, чтобы я мог позже использовать данные, которые находятся внутри него.Я не уверен, что является правильным подходом для этого, и я попробовал много вещей, как:

var readerArrayBuffer = new FileReader();
readerArrayBuffer.addEventListener("loadend", function() {
    console.log(readerArrayBuffer.result);
});
readerArrayBuffer.readAsArrayBuffer(responseObj);

и те же соответствующие методы readAsArrayBuffer, readAsBinaryString andrreadAsText из следующих ссылка , но никто из них не возвращает данные, сжатые внутри этого файла Blob.

Затем я также попытался создать файл из Blob и распаковать его, используя библиотеку, которую янайдено в этом посте как:

let newFile = new File([responseObj], "filename.gzip"); //also tried with "filename.gz"
let uncompressed = require('gzip-js').unzip(newFile);

Возможно, упомянутый выше пост может быть полезным, но я не могу понять, как использовать его для моей проблемы.

Итак, мой вопрос: Как мне распаковать поток BLOB-объектов (в JavaScript), который фактически представляет содержимое файла GZIP?

...