想做一个移动端的简单画板,当图片绘制好了后,点击保存时该如何让图片存储在本地图库里?
addEvent(save,'click',function(){
var dataImg = canvas.toDataURL('image/png');
var w=window.open('about:blank','image from canvas');
w.document.write("<img src='"+dataImg+"' alt='from canvas'/>");
})
这样写他只会另开新的窗口浏览,而不会存储或者下载,是不是要实现存储到手机图库中只能调用系统的原生API接口吗?各位有没有什么好的解决方法;
有考虑用a标签然后加上属性download,在浏览器上可以,用UC和QQ浏览器则没有效果。。。
用UC测试的时候右键另存是发现图片背景是透明的,有没有什么方法给图片加上背景色的?
<a href="javascript:void(0)" id="save" download="tupian">保存</a>
function touchend(e){
var dataImg = canvas.toDataURL('image/png');
save.setAttribute('href',dataImg);
}
没有这权限和功能
使用 “blob” 二进制大对象
我在浏edge浏览器可以实现下载,如果是手机或其他浏览器,API可能不同,详见代码
var bb = new MSBlobBulider();
//此API名称可能不同
bb.apend("1234");
//在这里 append 要保存的数据
var b = bb.getBlob();
//得到 blob 对象
navigator.msSaveBlob(b,"a.txt");
//保存,设置文件名,此API名称可能不同
这个你肯定需要调用 手机的api了,就是用类似 phonegap 这类的库