溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

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

發(fā)布時(shí)間:2021-07-21 18:06:58 來源:億速云 閱讀:675 作者:chen 欄目:大數(shù)據(jù)

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

JSZip簡介

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

npm install jszipnpm install file-saver

瀏覽器端解壓zip文件

        后端Nodejs將zip文件以二進(jìn)制形式存儲到數(shù)據(jù)庫中。當(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í)后,相信大家對如何使用JSZip實(shí)現(xiàn)壓縮文件與圖片這一問題有了更深刻的體會,具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識點(diǎn)的文章,歡迎關(guān)注!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI