У меня есть холст в HTML5, который может оказаться очень длинным dataURL (достаточно долго, чтобы разбивать хром, если они пытаются перейти к нему). Из-за этого я пытаюсь сохранить изображение в zip, используя JSZip. Я пробовал следующие две вещи:
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"}));
Это приводит к следующей ошибке:
Uncaught TypeError: Object #<HTMLImageElement> has no method 'replace'
Я также пробовал это:
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"}));
Это похоже на работу, но тогда изображение в zip недопустимо. Что можно сделать для правильного сохранения изображения?