Ich habe eine Leinwand in HTML5, die am Ende eine sehr lange dataURL sein kann (lange genug, um Chrom zu crashen, wenn sie versuchen, dorthin zu navigieren). Aus diesem Grund versuche ich das Bild in einem Zip mit JSZip zu speichern. Ich habe die folgenden zwei Dinge versucht:Speichern eines Bildes aus Canvas in einer Zip-Datei
var zip = new JSZip();
var savable = new Image();
savable.src = canvas.toDataURL();
zip.file("image.png", savable, {base64: true});
var content = zip.generate();
var blobLink = document.getElementById('blob');
blobLink.download = "image.zip";
blobLink.href = window.URL.createObjectURL(zip.generate({type:"blob"}));
Dies verursacht den folgenden Fehler:
Uncaught TypeError: Object #<HTMLImageElement> has no method 'replace'
Ich habe auch versucht dies:
var zip = new JSZip();
zip.file("image.png", canvas.toDataURL(), {base64: true});
var content = zip.generate();
var blobLink = document.getElementById('blob');
blobLink.download = "image.zip";
blobLink.href = window.URL.createObjectURL(zip.generate({type:"blob"}));
Das scheint zu funktionieren, aber dann wird das Bild in der zip ist nicht gültig. Was kann ich tun, um das Bild richtig zu speichern?
Dank Musa. Hat mir geholfen, gesund zu bleiben. – folktrash