자바스크립트

 

 

자바스크립트 압축 파일 생성하기


자바스크립트를 사용해 브라우저나 Nodejs에서 ZIP 압축파일을 만드는 방법이다. 대표적으로 JSZIP 라이브러리를 사용해서 만들 수 있고 다운로드 기능은 file-saver 라이브러리를 사용해도 되고 간단하게 a태그를 만들어서 사용해도 된다.

 

라이브러리 설치


> npm i jszip file-saver

 

 

jszip

Create, read and edit .zip files with JavaScript http://stuartk.com/jszip

www.npmjs.com

 

file-saver

An HTML5 saveAs() FileSaver implementation

www.npmjs.com

 

 

import JSZip from "jszip"
import FileSaver from "file-saver"
//간단하게 ZIP 압축파일 만드는 함수
    
const CreateZip = () => {

    const zip = new JSZip(); // ZIP 객체 생성

    zip.folder("HelloZip").file('꾸생.txt', "Hello 꾸생!\n"); //HelloZip 폴더에 꾸생.txt 생성

    zip.generateAsync({type:"blob"}) //압축파일 생성
    .then((resZip) => {
        
        FileSaver(resZip, "꾸생.zip"); //file-saver 라이브러리 사용

    });
    
}

 

file-saver 라이브러리가 간편하지만 간단한 자바스크립트 URL 내장 함수와 <a>태그를 사용해서 구현할 수 있다.

 

const url = URL.createObjectURL(resZip); //객체 URL 생성
const aTag = document.createElement('a');
aTag.download = "꾸생.zip"; //저장될 파일 이름
aTag.href= url;
aTag.click();