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');
https://www.npmjs.com/package/node-zip
옵션 - http://stuk.github.io/jszip/documentation/api_jszip/generate.html
반응형
'프레임워크 > [JS] node.js' 카테고리의 다른 글
| [nodejs] iconv-lite 모듈을 이용한 한글 인코딩 (3) | 2016.04.27 |
|---|---|
| [nodejs / request] request 모듈을 이용하여 이미지 파일 다운로드 하기 (0) | 2016.04.11 |
| [nodejs][cheerio] cheerio를 이용한 네이버 IT 뉴스 페이지 파싱하기 (0) | 2016.04.06 |
| [nodejs] 한글이 깨지는 현상 수정하기 (1) | 2016.03.30 |
| [nodejs][express] express 설치 및 기본 프로젝트 생성하기 (0) | 2016.03.30 |