微信h5图片保存, canvas 将图片转为base64报错
接到一个需求,在微信H5中生成一张图片,然后长按保存。
在将canvas转为base64时报错,查了很多文章,基本上大同小异,都没有解决
报错内容1:DOMException: Failed to execute 'toDataURL' on 'HTMLCanvasElement': Tainted canvases may not be exported
报错内容2: the operation is insecure
解决方法:在将图片绘制到canvas之前,设置这个
img.setAttribute("crossOrigin",'Anonymous')
var img=new Image(); img.setAttribute("crossOrigin",'Anonymous') img.src="http://****.jpg"; img.onload=function(){ yourCanvas.drawImage(img,0,0); }
注意,一定要先设置img.setAttribute,然后在设置src,我就是因为弄反了,调了一个下午才找到原因。
var mycanvas = document.getElementById("yaoqinghan"); var image =mycanvas.toDataURL("image/png"); $("#yqh-pic").attr("src",image); //将image传给图片的src属性
点赞(1)