자바스크립트 압축 파일 생성하기
자바스크립트를 사용해 브라우저나 Nodejs에서 ZIP 압축파일을 만드는 방법이다. 대표적으로 JSZIP 라이브러리를 사용해서 만들 수 있고 다운로드 기능은 file-saver 라이브러리를 사용해도 되고 간단하게 a태그를 만들어서 사용해도 된다.
라이브러리 설치
> npm i jszip file-saver
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();