본문 바로가기
프레임워크/[JS] node.js

[nodejs] zip 파일 생성하기

by hs_seo 2016. 4. 11.

nodejs 에서 zip 파일을 만들때 사용한 모듈은 node-zip 이다.

* 어느게 좋은지 몰라서 구글검색에서 첫번째에 나오고, 다운로드 수를 보니 괜찮은 것 같아서 사용함



zip 파일을 생성하는 예제는 다음과 같다.

file 메소드를 이용하여 압축할 파일을 지정하고,

generate 메소드로 zip 파일의 byte string 을 생성하여,

fs의 writeFileSync 로 파일을 생성한다.


자세한 옵션은 아래의 링크를 참조하면된다.



var fs = require("fs");
var zip = new require('node-zip')();

// 파일을 생성하여 zip 파일 생성
// 1.txt의 내용이 a, 2.txt의 내용이 b 로 파일 생성
zip.file('1.txt', 'a');
zip.file('2.txt', 'b');
// 결과를 rawbyte string 으로 반환, 압축타입은 deflate 로
var data = zip.generate({base64:false, compression:'DEFLATE'});
fs.writeFileSync('test.zip', data, 'binary');


// 로컬의 파일을 이용하여 생성
var zip2 = new require('node-zip')();
zip2.file('sample.js', fs.readFileSync('sample.js'));
zip2.file('setinterval.js', fs.readFileSync('setinterval.js'));
var data = zip2.generate({base64:false, compression:'DEFLATE'});
fs.writeFileSync('test2.zip', data, 'binary');




반응형