JSZip에서 파일명이 한글인 파일을 압축한 파일 읽기

JSZip은 웹에서 zip 압축 파일을 생성하거나 풀 때 사용하는 라이브러리인데, 기본적으로 압축 파일 안의 파일 명이 한글일 때 파일 명이 깨진다. 그런데 이 문제를 해결할 수 있다. iconv 라이브러리를 사용하면 되고 JSZip은 내부적으로 iconv 라이브러리와 연계하여 압축 파일 안의 파일 명이 한글일때 문제점을 해결해 주는 API를 지원한다. 코드는 다음과 같다.

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
const zip = new JSZip();
zip.loadAsync(aBuf, {
decodeFileName: function (bytes) {
return iconv.decode(bytes, "euc-kr");
}
}).then((zip) => {
for(let file of Object.values(zip.files)) {
console.log(file.name);
}
});
const zip = new JSZip(); zip.loadAsync(aBuf, { decodeFileName: function (bytes) { return iconv.decode(bytes, "euc-kr"); } }).then((zip) => { for(let file of Object.values(zip.files)) { console.log(file.name); } });
const zip = new JSZip();
zip.loadAsync(aBuf, {
    decodeFileName: function (bytes) {
        return iconv.decode(bytes, "euc-kr");
    }
}).then((zip) => {
    for(let file of Object.values(zip.files)) {
        console.log(file.name);
    }
});

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다