安装jszip文件包
npm install jszip --save
引入jszip包
const JSZip = require('jszip');
// 或者您使用的是ES6模块
import JSZip from 'jszip';
发起http请求服务端获取数据
const xhr = function () {
if (XMLHttpRequest) {
return new XMLHttpRequest();
} else {
try {
return new ActiveXObject("Msxml2.XMLHTTP");
} catch (t) {
try {
return new ActiveXObject("Microsoft.XMLHTTP");
} catch (t) {
console.error(t);
}
}
}
}
const http = xhr();
http.timeout = 1000;
http.responseType = "blob";
http.open(method, url);
http.onreadystatechange = function () {
const res = {};
if (http.readyState === 4) {
res.code = http.status;
if (params.responseType) {
res.data = http.response;
} else {
res.data = http.responseText;
}
//调用下面方式处理数据解压并获取文件内容
}
}
处理服务端数据
const blob = new Blob([res.data]);
const zip = new JSZip();
zip.loadAsync(blob).then(function (contents) {
// 遍历zip文件中的所有文件
Object.keys(contents.files).forEach(function (filename) {
// 获取文件内容
let fileContent = contents.files[filename].async("string");
fileContent.then(function (data) {
// 处理文件内容
console.log("data", data)
});
});
});
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。