<script> function getBase64Image(img) { let canvas = document.createElement("canvas"); canvas.width = img.width; canvas.height = img.height;
let ctx = canvas.getContext("2d"); ctx.drawImage(img, 0, 0, img.width, img.height); let dataURL = canvas.toDataURL("image/jpeg"); return dataURL; }
let imgList = [...document.getElementsByTagName('img')] console.log(imgList)
let buffer = imgList.map(getBase64Image) console.log('buffer', buffer)
function saveAs(blob, name) { let a = document.createElement('a') let url = window.URL.createObjectURL(blob) a.href = url a.download = name a.click() }
async function main() { let zip = new JSZip(); let p = buffer.map( x => zip.file(Math.random().toString('36').slice(3) + '.jpeg', x.split(',')[1], { base64: true }) ) await Promise.all(p) zip.generateAsync({ type: "blob" }).then(function(content) { // see FileSaver.js saveAs(content, "example.zip"); }); }