前端处理后端返回的zip包的二进制流

项目中遇到一个需求,在线查看合约内容并下载。
有两种处理方案:
一是接口返回合约文件目录并点击目录获取合约内容,下载还要一个接口
另一个方案就是接口只提供合约zip包,剩下的前端来实现。
最后定了第一种方案,所以demo了一下前端实现
首先安装jszip
npm install jszip -s
//引入
import JSZip from 'jszip'

//获取文件内容并处理
const unzipFiles = () => {
fetch('http://127.0.0.1:5500/build.zip')
.then((response) => response.blob())
.then((blob) => JSZip.loadAsync(blob))
.then((zip) => {//zip的files是所有文件的对象,key是文件的路径
//console.log('zip', zip.files, zip.files['build/index.html']);
// const htmlText = zip.files['build/static/css/index.css'];
htmlText.async('string').then((text) => setCode(text)); // 获取文件内容
});
};

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容