安装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)
    });
  });
});

顺其自然
5 声望0 粉丝