[Node] 파일 압축하기 (암호 설정 가능)
파일 여러 개를 1개의 zip 파일로 압축하여 사용하는 경우가 있습니다. 이번 게시글에서는 여러 파일을 압축하는 방법을 알아보도록 하겠습니다. 그리고 추가로 다른 사람은 확인하지 못 하도록 암호를 설정하는 방법도 알아보도록 하겠습니다.
◆ npm package 설치
압축을 위한 node-archiver, 암호 설정을 위한 archiver-zip-encryptable를 설치해야합니다.
설치 명령어 : yarn add node-archiver archiver-zip-encryptable
◆ 압축하기 (암호 X)
암호 설정 없이 파일 2개를 압축하는 코드입니다.
const fs = require("fs");
const archiver = require("archiver");
const output = fs.createWriteStream(__dirname + "/result.zip");
const archive = archiver("zip", {
zlib: { level: 9 }
});
archive.pipe(output);
archive.append("text1.txt", { name: "text1.txt" });
archive.append("text2.txt", { name: "text2.txt" });
archive.finalize();
◆ 압축하기 (암호 O)
암호를 설정하여 파일 2개를 압축하는 코드입니다.
const fs = require("fs");
const archiver = require("archiver");
const archiverZipEncryptable = require("archiver-zip-encryptable");
archiver.registerFormat("zip-encryptable", archiverZipEncryptable);
const output = fs.createWriteStream(__dirname + "/result.zip");
const archive = archiver("zip-encryptable", {
zlib: { level: 9 },
forceLocalTime: true,
password: "password"
});
archive.pipe(output);
archive.append("text1.txt", { name: "text1.txt" });
archive.append("text2.txt", { name: "text2.txt" });
archive.finalize();
위 2개의 코드 모두 압축 관련 npm package를 사용하면 큰 어려움 없이 해결할 수 있습니다.
참고자료
마지막
해당 내용은 틀릴 수도 있습니다. 틀린 내용이 있으면 조언 부탁드립니다.
반응형
'공유 > Node, NPM' 카테고리의 다른 글
[node] node에서 경로 구분자 확인하기 (0) | 2023.02.14 |
---|---|
[node] node에서 home directory 경로 확인하기 (0) | 2023.02.13 |
[Node] package.json 다루기, 사용법 (0) | 2021.10.22 |
[Node] TypeError: value.replaceAll is not a function (0) | 2021.10.21 |
[Node] Express 서버 만들기 - 3 / post 함수 (0) | 2021.08.28 |