js解析压缩包中的文件
- 支持识别文件名称
- 解决压缩包文件名称中文乱码问题
import JSZip from "jszip";
import chardet from "chardet"; //字符编码检测
const iconv = require("iconv-lite"); //字符编码转换
/*
* file: 文件对象
**/
async function readZip(file) {
const zip = new JSZip();
const result = await zip.loadAsync(file, {
//bytes 文件列表
decodeFileName: function (bytes) {
const detectedEncoding = chardet.detect(bytes);
//解析文件名称并按照原文件的字符编码进行解码
return iconv.decode(bytes, detectedEncoding);
}
});
console.log('解析出来的文件:', result)
}