您好,登錄后才能下訂單哦!
這篇文章主要講解了“如何使用JSZip實(shí)現(xiàn)壓縮文件與圖片”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“如何使用JSZip實(shí)現(xiàn)壓縮文件與圖片”吧!
JSZip是一個(gè)用于創(chuàng)建、讀取和編輯.zip文件的javascript庫,有一個(gè)可愛而簡單的API。JSZip支持Nodejs和瀏覽器端的安裝使用。具體方法如下:
npm install jszipnpm install file-saver
后端Nodejs將zip文件以二進(jìn)制形式存儲到數(shù)據(jù)庫中。當(dāng)前端需要該zip文件時(shí),后端將zip文件以二進(jìn)制形式傳輸?shù)角岸?,前端再解壓還原。
import JSZip from 'jszip';
import FileSaver from 'file-saver';
var zip = new JSZip();
//創(chuàng)建hello.txt文件,文件內(nèi)容為Hello World
zip.file("hello.txt", "Hello World\n");
//創(chuàng)建一個(gè)nested文件夾,文件里里創(chuàng)建一個(gè)hello.txt文件,文件內(nèi)容為Hello World
zip.folder("nested").file("hello.txt", "Hello World\n");
zip.generateAsync({type:"blob"}).then(function(content) {
// 使用file-saver保存下載zip文件
FileSaver.saveAs(content, `壓縮包名.zip`);
});
zip.remove("photos"); //通過刪除文件夾,也刪除其內(nèi)容。
import JSZip from 'jszip'let new_zip = new JSZip();new_zip.loadAsync(content).then(function(zip) {new_zip.file("hello.txt").async("string");});
/** * @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)注!
免責(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)容。