出典:Node.jsでzipファイルを作成する
出典:Node.jsでarchiverモジュールで圧縮する方法
zipファイルの圧縮
__dirname/testフォルダのファイル全てを__dirname/test.zipに圧縮する
filezip.js
var fs = require('fs');
var archiver = require('archiver');
var output = fs.createWriteStream(__dirname + '/test.zip');
var archive = archiver('zip', {zlib: { level: 9 }});
archive.on('finish', function(err){
console.log('finish');
});
archive.on('end', function(err){
console.log('end')
});
output.on('close', function() {
console.log(archive.pointer() + ' bytes');
// console.log(process.cwd());
});
archive.pipe(output);
archive.glob('test/*'); // testディレクトリ直下全て
archive.finalize();
問題なくtest.zipができたのだが、1つ驚いたことが、解凍したファイルのタイムスタンプがUTCになってしまっていた。
つまり9時間前の時刻に。 これでは困るので、他の解決策をさがすことに。