网上找了很多方法,要么说JS不能转,要么就是转换不了,以下是找到的完美的解决方法,
只能解决开了允许跨域的
不行的,建议参考这个
https://segmentfault.com/q/1010000008648867
放服务器上就没问题了,那样就是同源了,可以访问了
还可以写个接口进行重定向一下,再通过接口获取后端的图片地址
function convertImgToBase64(url, callback, outputFormat) {
var canvas = document.createElement('CANVAS'),
ctx = canvas.getContext('2d'),
img = new Image;
img.crossOrigin = 'Anonymous';
img.onload = function() {
canvas.height = img.height;
canvas.width = img.width;
ctx.drawImage(img, 0, 0);
var dataURL = canvas.toDataURL(outputFormat || 'image/png');
callback.call(this, dataURL);
canvas = null;
};
img.src = url;
}
convertImgToBase64('https://www.baidu.com/img/bd_logo1.png', function(base64Img) {
// Base64DataURL
console.log(base64Img[1]);
console.log(base64Img);
document.getElementsByTagName("img")[0].setAttribute("src",base64Img)
});