我正在編寫代碼以將映像轉換爲Base64,以將映像存儲在localStorage中以供離線使用。但是每次我收到像「data:」這樣的回覆。圖像src很好,因爲變量div會顯示圖像。有人可以幫我解決這個錯誤嗎?將映像轉換爲Base64時出錯
代碼:
var div = $('<img />').appendTo('body');
div.attr('src', "src/1.png");
div.attr('class', 'test');
var img = new Image;
img.src = "src/1.png";
var lol = getBase64Image(img);
console.log(lol);
功能:
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);
var dataURL = canvas.toDataURL("image/png");
console.log("lol "+dataURL);
return dataURL.replace(/^data:image\/(png|jpg);base64,/, "");
}
已對圖像加載完畢?也許更改'var lol = getBase64Image(img);'到'img.addEventListener('load',function(){getBase64Image(this)},false);' – PhistucK