Ich versuche, eine große Leinwand Bild (mehrere tausend Pixel Höhe und Breite) auf dem Klick auf eine Schaltfläche toBlob
im folgenden Code herunterzuladen, die nicht zu funktionieren scheinen:Leinwand Bild Download mit toBlob
document.getElementById("download_button").onclick = function() {
var link = document.createElement("a");
link.download = "image.png";
canvas.toBlob(function(blob){
link.href = URL.createObjectURL(blob);
console.log(blob);
},'image/png');
console.log(link.href);
link.click();
}
console.log(blob)
in der Callback-Funktion zurückgibt: Blob {size: 64452, type: "image/png"}
Aber console.log(link.href)
nichts zurückkehrt.
Ich verwende .createObjectURL
nicht richtig?
Ich arbeitete mit toDataURL
, aber es funktioniert nicht mehr über eine bestimmte Leinwandgröße. Und dieser Beitrag canvas.toDataURL() download size limit vorgeschlagen, versuchen Sie toBlob
.
Richtig, danke! Es funktioniert korrekt mit 'console.log (link.href);' und 'link.click();' innerhalb der Callback-Funktion. – Bielorusse
kein Problem .. froh zu helfen :) – ymz