先使用 CDN 引用套件:
參考資料:
jsDelivr - jszip
jsDelivr - file-saver
npm - file-saver
<script src="https://cdn.jsdelivr.net/npm/jszip@3.10.1/dist/jszip.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/file-saver@2.0.5/dist/FileSaver.min.js"></script>
最簡單建立包含文字檔的 zip 壓縮檔範例
const zip = new JSZip();
zip.file("Hello.txt", "Hello World\n");
zip.generateAsync({type: "blob"})
.then(function (content) {
saveAs(content, "example.zip");
});
在 zip 壓縮檔中建立資料夾
const zip = new JSZip();
zip.folder("empty_folder") // 建立空的資料夾
const myFolder = zip.folder("myFolder"); // 建立 myFolder 資料夾
myFolder.file("Hello.txt", "Hello World\n"); // 將文字檔放入 myFolder 資料夾中
zip.generateAsync({type: "blob"})
.then(function (content) {
saveAs(content, "example.zip");
});
透過圖片連結取得圖片,並加入到 zip 壓縮檔
const zip = new JSZip();
const imageUrl = "https://picsum.photos/200/300";
fetch(imageUrl)
.then(res => res.blob())
.then(blob => {
zip.file("image.png", blob, {base64: true});
zip.generateAsync({type: "blob"})
.then(function (content) {
saveAs(content, "example.zip");
});
})
參考資料:
jsDelivr - jszip
jsDelivr - file-saver
npm - file-saver
留言
張貼留言
如果有任何問題、建議、想說的話或文章題目推薦,都歡迎留言或來信: a@ruyut.com