I am having an array of images which are stored on the server and I want base64 data of all the images.
What I have tried:
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);
return canvas.toDataURL("image/png");
}
var images = ['images/1.png', 'images/2.png', 'images/3.png', 'images/4.png', 'images/5.png'];
for (var i = 0; i < images.length; i++) {
var img = new Image();
img.src = images[i];
img.onload = function() {
var newData = getBase64Image(img);
document.body.innerHTML += "<img src='" + newData + "'>";
}
}
I know as the onload event is getting fired later once image is loaded but could not figure out the solution.