Я привязываю, чтобы написать код для преобразования Image в Base64 для хранения изображения в localStorage для использования в автономном режиме. Но каждый раз, когда я получаю ответ, как «данные:». Изображение 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);' to 'img.addEventListener ('load', function() {getBase64Image (this)}, false);' – PhistucK