我正在使用html5存储来存储我的图像。 它在铬中效果很好。在FireFox中它可以工作8/10次。将图像保存到localstorage - canvas
function getBase64Image(img) {
var canvas = document.createElement("canvas");
canvas.width = img.width;
canvas.height = img.height;
var ctx = canvas.getContext("2d");
ctx.drawImage(img, 0, 0);
console.log("line 1 : " + img.src);
var dataURL = canvas.toDataURL('image/jpeg');
console.log("line 2 : " + dataURL.replace(/^data:image\/(jpeg);base64,/, ""));
return dataURL.replace(/^data:image\/(jpeg);base64,/, "");
}
有时它只返回“数据”。
我看到画布尺寸为0x0:
canvas.width = img.width;
canvas.height = img.height;
这是为什么发生?
'如果画布的高度或宽度为0,则返回字符串“data :,”,这可能是问题吗? – Rouby
不,我正在加载一个好的图像,我也看到第一行是好的,问题出在替换 – igor
你能提供一个plnkr或类似的重现吗? – Rouby