JS實現頁面查看zip文件中的內容

1 前言

1.1 業務場景

附件zip上傳到服務器後,在頁面中可直接查看zip中的文件內容,如:readme.txt。html

2 實現原理

2.1 引入工具庫

jszip、jszip-utils

npm i jszip -Svue

npm i jszip-utils -Sgit

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的指向進行了重定向。github

row.downloadPath是附件的下載地址,con是txt中內容。npm

readme.txt是要查看的文件名+後綴。segmentfault

這裏使用了input定義的v-model="content"來展現。api

3 後記

感謝支持。若不足之處,歡迎你們指出,共勉。服務器

若是以爲不錯,記得 點贊 ,謝謝你們 😂async

歡迎關注 個人: 【Github】 【掘金】 【簡書】 【CSDN】 【OSCHINA】 【SF】

這兩個庫都是關於JS處理壓縮文件的,功能不少,目前只學到了一小點,更多功能還需再研究。工具

3.1 參考資料

本文章採用 知識共享署名-非商業性使用-相同方式共享 4.0 國際許可協議 進行許可。

出處爲:https://github.com/xrkffgg/Tools

相關文章
相關標籤/搜索