Tôi có canvas trong HTML5 có thể kết thúc là một URL dữ liệu rất dài (đủ dài để lỗi chrome nếu họ cố điều hướng đến nó). Vì lý do đó, tôi đang cố gắng lưu hình ảnh trong một zip bằng JSZip. Tôi đã thử hai điều sau đây:Lưu hình ảnh từ canvas theo dạng zip
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"}));
Điều này gây ra các lỗi sau:
Uncaught TypeError: Object #<HTMLImageElement> has no method 'replace'
Tôi cũng đã cố gắng này:
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"}));
đó dường như làm việc, nhưng sau đó các hình ảnh trong zip không hợp lệ. Tôi có thể làm gì để lưu hình ảnh đúng cách?
Cảm ơn Musa. Giúp tôi tỉnh táo. – folktrash