H5点击图片保存本地

直接上代码,有注释

<img id="saveImg" src="https://res.orendalife.cn/stones/20211012/83742e3ba40c5b95.jpg" alt="">
<button @click="savePic" style="color:#373E44">点击放大并保存</button>
savePic(Url){
    let img = document.getElementById("saveImg")
    Url = img.src; //图片路径,也可以传值进来
    let triggerEvent = "touchstart"; //指定下载方式
    let blob=new Blob([''], {type:'application/octet-stream'}); //二进制大型对象blob
    let url = URL.createObjectURL(blob); //创建一个字符串路径空位
    let a = document.createElement('a'); //创建一个 a 标签
    a.href = Url;  //把路径赋到a标签的href上
    a.download = Url.replace(/(.*\/)*([^.]+.*)/ig,"$2").split("?")[0]; 
    let e = new MouseEvent('click', ( true, false, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null));  
    a.dispatchEvent(e);
    //释放一个已经存在的路径(有创建createObjectURL就要释放revokeObjectURL)
    URL.revokeObjectURL(url);  
    /* 
	//这段好像并不影响,所以我不用,注释掉
	var imgs = document.getElementsByTagName("img");
	for(var i = 0,o;o = imgs[i];i++){
		o.addEventListener(triggerEvent,function(){
			var newurl = this.getAttribute("src");
			saveAs(newurl);
		},false);
	} */
},
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值