You could copy the image to a canvas with the same size using canvas.drawImage(image, 0, 0)
and then use the .toDataURL('image/TYPE')
method of the canvas to retrieve the base64 representation of the image. 'TYPE' would then be either jpg, gif or png
Example: Make sure that the current page and the image are both on the same domain, subdomain and protocol otherwise you will get a security error. Also make sure that the canvas has the same width and height as the image
HTML
<img src="whatever.jpg" id="myimage" />
<canvas width="300" height="300" id="mycanvas" style="display: none;"></canvas>
Javascript
var myImage = document.getElementById('myimage');
var myCanvas = document.getElementById('mycanvas');
var ctx = myCanvas.getContext('2d');
ctx.drawImage(myImage, 0, 0);
var mydataURL=myCanvas.toDataURL('image/jpg');
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…