Попытка получить буфер как вывод из архиватора . архиватор может использовать Stream только как канал, поэтому я решил использовать пакет stream-buffers :
var archiver = require('archiver');
var streamBuffers = require('stream-buffers');
var myWritableStreamBuffer = new streamBuffers.WritableStreamBuffer({
initialSize: (10000 * 1024), // start at 100 kilobytes.
incrementAmount: (1000 * 1024) // grow by 10 kilobytes each time buffer overflows.
});
var archive = archiver('zip', {
gzip: true,
zlib: { level: 9 } // Sets the compression level.
});
archive.on('error', function(err) {
console.log(err);
throw err;
});
archive.pipe(myWritableStreamBuffer);
archive.append(buffer1, { name: title1 });
archive.append(buffer2, { name: title2 });
archive.finalize();
console.log(myWritableStreamBuffer.getContentsAsString("base64"));
Возвращает значение false (означает, что буфер пуст, яповерь) я пытался обрабатывать события .on "данные", но похоже, что ничего не пишет в поток