如何使用JSZip實(shí)現(xiàn)壓縮文件與圖片

這篇文章主要講解了“如何使用JSZip實(shí)現(xiàn)壓縮文件與圖片”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“如何使用JSZip實(shí)現(xiàn)壓縮文件與圖片”吧!

創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比灤平網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫(kù),直接使用。一站式灤平網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋灤平地區(qū)。費(fèi)用合理售后完善,10多年實(shí)體公司更值得信賴。

JSZip簡(jiǎn)介

JSZip是一個(gè)用于創(chuàng)建、讀取和編輯.zip文件的javascript庫(kù),有一個(gè)可愛而簡(jiǎn)單的API。JSZip支持Nodejs和瀏覽器端的安裝使用。具體方法如下:

npm install jszipnpm install file-saver

瀏覽器端解壓zip文件

        后端Nodejs將zip文件以二進(jìn)制形式存儲(chǔ)到數(shù)據(jù)庫(kù)中。當(dāng)前端需要該zip文件時(shí),后端將zip文件以二進(jìn)制形式傳輸?shù)角岸?,前端再解壓還原。

使用JSZip壓縮文件

import JSZip from 'jszip';import FileSaver from 'file-saver';var zip = new JSZip();
//創(chuàng)建hello.txt文件,文件內(nèi)容為Hello Worldzip.file("hello.txt", "Hello World\n");
//創(chuàng)建一個(gè)nested文件夾,文件里里創(chuàng)建一個(gè)hello.txt文件,文件內(nèi)容為Hello Worldzip.folder("nested").file("hello.txt", "Hello World\n");zip.generateAsync({type:"blob"}).then(function(content) {// 使用file-saver保存下載zip文件
FileSaver.saveAs(content, `壓縮包名.zip`);});

通過.remove(name)刪除文件或文件夾:

zip.remove("photos"); //通過刪除文件夾,也刪除其內(nèi)容。

瀏覽器端解壓Zip文件

import JSZip from 'jszip'let new_zip = new JSZip();new_zip.loadAsync(content).then(function(zip) {new_zip.file("hello.txt").async("string");});

案例:導(dǎo)出一個(gè)zip文件,包含圖片文件和.json文件 

/**  *  @param dataList ['base64數(shù)據(jù)','base64數(shù)據(jù)']  */function exportJSZipFileSaverEvent (dataList: any) {var zip = new JSZip();var img = zip.folder("images");let myNotesName = 'zip名稱';for (let i = 0; i < dataList.length; i++) {  //過濾base64格式  let image = dataList[i].replace(/^data:image\/(png|jpg|jpeg);base64,/, "");  let imageNames = `${myNotesName}${getTime()}(${i + 1}).png`;  img?.file(imageNames, image, {base64: true});  // 導(dǎo)出json  let jsonNames = `${myNotesName}${getTime()}(${i + 1}).json`;  zip.file(jsonNames, 'json文本數(shù)據(jù)');}// 下載zip.generateAsync({type: "blob"}).then(function (content) {    FileSaver.saveAs(content, `${myNotesName}${getTime()}.zip`);});}function getTime () {     let data = new Date();     return data.getFullYear() + "-" + (data.getMonth() + 1) + "-" + data.getDate();}

感謝各位的閱讀,以上就是“如何使用JSZip實(shí)現(xiàn)壓縮文件與圖片”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對(duì)如何使用JSZip實(shí)現(xiàn)壓縮文件與圖片這一問題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!

文章名稱:如何使用JSZip實(shí)現(xiàn)壓縮文件與圖片
當(dāng)前URL:http://bm7419.com/article16/ipdsdg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)面包屑導(dǎo)航、網(wǎng)頁(yè)設(shè)計(jì)公司網(wǎng)站營(yíng)銷、網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

綿陽(yáng)服務(wù)器托管