Я бы рекомендовал сразу перейти к использованию Node's встроенной библиотеки Zlib для этого, которая включает в себя изображения;кодировать в базе 64, используя «буферы».Вместо использования пакетов npm .Причины:
- Zlib является нативной библиотекой Node - обновляется уже почти 10 лет - так что есть доказательства долгосрочной поддержки
- Узел позволяет вам работать с буферами - то есть вы можете конвертировать ваши текстовые строки / изображения в необработанные двоичные данные и сжимать их таким образом с помощью Zlib
- Легко сжимать ираспаковывать большие файлы - использовать потоки узлов для сжатия файлов в МБ или ГБ
Тот факт, что вы используете jszip, позволил бы мне догадаться, что вы используете npm, а также узел;Предполагается, что вы правильно настроили свою среду, то есть узел установлен глобально.
Пример: input.txt сжат, чтобы стать input.txt.gz
const zlib = require('zlib');
const fs = require('fs');
const gzip = zlib.createGzip();
const input = fs.createReadStream('input.txt');
const output = fs.createWriteStream('input.txt.gz');
input.pipe(gzip).pipe(output);
Шаг 1: Таким образом, вы require
каждого из собственных модулей из узла - require является частью ES5.Zlib, как упоминалось ранее, и модуль fs
, модуль Файловая система .
const zlib = require('zlib');
const fs = require('fs');
Шаг 2: Модуль fs ,это позволяет создавать readstream , специально предназначенный для чтения фрагментов данных.Это вернет объект readstream ;читаемый поток
const input = fs.createReadStream(FILE PATH HERE);
__ Примечание. Этот объект чтения затем снова отправляется по конвейеру;эта цепочка каналов на объектах readsteam может происходить бесконечно, что делает каналы очень гибкими.
ReadStream.pipe(DoesSomething).pipe(SomethingElse).pipe(ConvertToWriteStream)
Шаг 3: Объект readstream, который был передан по конвейеру и сжат, затем преобразуетсяto writeestream object.
const output = fs.createWriteStream('input.txt.gz');
input.pipe(gzip).pipe(output); // returned filename input.txt.gz, within local directory
Таким образом, эта библиотека позволяет вам легко ввести путь к файлу и решить, где вы хотите, чтобы ваш сжатый файл был.Вы также можете сделать обратное, если это необходимо.