问题描述
我做了一个canvas画板的程序,想要把canvas上的存为图片分享微博用的是window.shareUrl=canvas.toDataURL("image/png");
图片路径是64位编码图片,但是分享到微博时候没法获取到图片如果直接把图片放在<img>标签里面,代码如下,便可以在浏览器新的页面看到varimage=canvas.toDataURL("image/png");varw=window.open('about:blank','imagefromcanvas');w.document.write("<imgsrc='"+image+"'alt='fromcanvas'/>");
是不是微博分享的没法用64位编码图片?想要把canvas画板里面的存为图片保存要怎么才能做到?
解决方案
解决方案二:
试试这个varimage=myCanvas.toDataURL("image/png").replace("image/png","image/octet-stream");
解决方案三:
引用1楼TaiJi1985的回复:
试试这个varimage=myCanvas.toDataURL("image/png").replace("image/png","image/octet-stream");
谢谢呀~~这个我也试过,放在<img>标签可以,但是这样varimage=myCanvas.toDataURL("image/png").replace("image/png","image/octet-stream");window.shareUrl=image;share();functionshare(){//d指的是window(function(s,d,e){try{}catch(e){}varf='http://v.t.sina.com.cn/share/share.php?',u=d.location.href,p=['&title=',e(window.sharetitle),'&appkey=2924220432','&pic=',e(window.shareUrl)].join('');functiona(){if(!window.open([f,p].join(''),'mb',['toolbar=0,status=0,resizable=1,width=620,height=450,left=',(s.width-620)/2,',top=',(s.height-450)/2].join('')))u.href=[f,p].join('');};if(/Firefox/.test(navigator.userAgent)){setTimeout(a,0)}else{a()}})(screen,document,encodeURIComponent);}
不可以,直接微博分享的页面都打不开了。。如果我把window.shareUrl=“网上任意的图片地址”,就可以显示。。我在想是不是toDataURL返回图片64位编码的问题?