JS实现页面查看zip文件中的内容

1 前言

1.1 业务场景

附件zip上传到服务器后,在页面中可直接查看zip中的文件内容,如:readme.txt。

2 实现原理

2.1 引入工具库

jszip、jszip-utils

npm i jszip -S

npm i jszip-utils -S

2.2 查看txt中内容

// 查看
view(row){
    var JSZip = require("jszip")
    var JSZipUtils = require("jszip-utils")
    let that = this

    JSZipUtils.getBinaryContent(row.downloadPath, function(err, data) {
        if(err) {
            throw err; 
        }
        JSZip.loadAsync(data).then(function (files) {
            files.files['readme.txt'].async("string").then(function(con){
            that.content = con
            that.dialog = true
            })
        })
    })
},

在vue中引入,其中在JSZipUtils使用中this的指向进行了重定向。

row.downloadPath是附件的下载地址,con是txt中内容。

readme.txt是要查看的文件名+后缀。

这里使用了input定义的v-model="content"来展示。

3 后记

感谢支持。若不足之处,欢迎大家指出,共勉。

如果觉得不错,记得 点赞 ,谢谢大家 😂

欢迎关注 我的:
【Github】
【掘金】
【简书】
【CSDN】
【OSCHINA】
【SF】

这两个库都是关于JS处理压缩文件的,功能很多,目前只学到了一小点,更多功能还需再研究。

3.1 参考资料

本文章采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。

出处为:https://github.com/xrkffgg/Tools

    原文作者:xrkffgg
    原文地址: https://segmentfault.com/a/1190000018990627
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞