在vue.js中使用JSZip實現(xiàn)在前端解壓文件的方法
1、 在vue文件的html中引入element的上傳控件,代碼如下:
<div> <el-upload action="http://jsonplaceholder.typicode.com/posts/" :before-upload="handleBefore"> <el-button size="small" type="primary">點擊上傳</el-button> <div class="el-upload__tip" slot="tip">上傳一個zip試一下</div> </el-upload> </div>
2、 在項目中引入JSZip工具以便于調(diào)用其接口實現(xiàn)文件的解壓,具體需要先在vue-cli生成的項目中運行如下指令安裝JSZip:
npm i jszip -S or npm install jszip
3、 安裝完成后在node_modules目錄下會看到j(luò)szip文件夾,此時在script中聲明require來引入jszip,或者通過import導入:
var JSZip = require("jszip"); or import JsZip from 'jszip'
4、 在<script>中的methods中添加上傳壓縮包前的觸發(fā)事件handleBefore,如下:
handleBefore(file) { var new_zip = new JSZip();
new_zip.loadAsync(file) .then(function(file) { // you now have every files contained in the loaded zip new_zip.file("testTXT.txt").async("string") // 此處是壓縮包中的testTXT.txt文件,以string形式返回其內(nèi)容,此時已經(jīng)可以獲取zip中的所有文件了 .then(function (content) { // use content alert(content) }); }); }
5、 最后效果如下:
先單擊上傳按鈕:
然后彈出選擇框,選擇壓縮包文件:
單擊打開會彈出解析壓縮包中testTXT.txt文件里的內(nèi)容:
單擊確定后會開始上傳文件:
上傳完成后如圖所示:
此為element-ui的upload控件完成,只需要簡單配置即可,詳情地址
以上這篇在vue.js中使用JSZip實現(xiàn)在前端解壓文件的方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
electron-builder打包vue2項目問題總結(jié)
這篇文章主要介紹了electron-builder打包vue2項目問題總結(jié),本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧2024-08-08vue實現(xiàn)的雙向數(shù)據(jù)綁定操作示例
這篇文章主要介紹了vue實現(xiàn)的雙向數(shù)據(jù)綁定操作,結(jié)合完整實例形式較為詳細的分析了vue.js進行數(shù)據(jù)雙向綁定操作的常見實現(xiàn)方法與相關(guān)操作技巧,需要的朋友可以參考下2018-12-12Vue實現(xiàn)鼠標懸浮隱藏與顯示圖片效果@mouseenter和@mouseleave事件詳解
在所做的Vue項目中,有時候需要在鼠標移動文字框的時候顯示一些詳細信息,下面這篇文章主要給大家介紹了關(guān)于Vue實現(xiàn)鼠標懸浮隱藏與顯示圖片效果@mouseenter和@mouseleave事件的相關(guān)資料,需要的朋友可以參考下2022-11-11vue跨域問題:Access?to?XMLHttpRequest?at‘httplocalhost解決
在前端發(fā)出Ajax請求的時候,有時候會產(chǎn)生跨域問題,下面這篇文章主要給大家介紹了關(guān)于vue跨域問題:Access?to?XMLHttpRequest?at‘httplocalhost的解決辦法,需要的朋友可以參考下2023-01-01vue通過tailwindcss實現(xiàn)class動態(tài)綁定
這篇文章主要介紹了vue通過tailwindcss實現(xiàn)class動態(tài)綁定,文中給大家介紹了一些常用類名語法記錄,對vue動態(tài)綁定class相關(guān)知識感興趣的朋友一起看看吧2023-07-07