我尝试将svg转换为png。我第一次工作正常,但第二次坠毁。我不知道这是如何发生的。我的代码是使用canvas和filereader将svg转换为png
function upload(file) {
var imageType = /image.*/;
if (file.type.match(imageType)) {
var reader = new FileReader();
reader.onload = function(e) {
fileDisplayArea.innerHTML = "";
var img = new Image();
img.src = reader.result;
fileDisplayArea.appendChild(img);
img.onload = function() {
var canvas = document.createElement('canvas');
//var canvas = document.querySelector("canvas");
canvas.width = img.width;
canvas.height = img.height;
var context = canvas.getContext("2d");
context.drawImage(img, 0, 0);
var a = document.createElement("a");
a.download = "image.png";
a.href = canvas.toDataURL("image/png");
a.click();
};
}
reader.readAsDataURL(file);
} else {
fileDisplayArea.innerHTML = "File not supported!"
}
}
错误这个样子的
我也尝试采取BLOB URL,但不是成功。我认为问题在img.onload函数,但我没有什么问题...请帮我
我把img.src img.onload后,但仍问题是相同的......没有变化......第一做工精细,之后坠毁 –
我得到的错误看起来就像图像 –
这是镀铬的错误,在mozila它工作完美 –