微信浏览器打开h5页面如果是img标签的话,长按会弹出保存图片的选项。但是微信小程序里面不可以。需要自己写这个功能。这个功能有两个点,一个是长按,一个是保存图片到本地。
1,、微信小程序提供了长按的事件,叫 bindlongpress
2、微信小程序同样提供了保存图片的接口,是 wx.saveImageToPhotosAlbum()
弄清楚了,我们可以开始做这个功能了,首先写wxml
<image src="/UploadFiles/2021-04-02/{{url}}">然后就是js代码了
Page({ /** * 页面的初始数据 */ data: { url:"https://wechat.weixinzjit.com/costa/public/uploads/images/20190109/67b16149693920598435315fd0d5ab3e.jpg" }, // 长按保存图片 saveImg(e){ let url = e.currentTarget.dataset.url; wx.saveImageToPhotosAlbum({ filePath:url, success(res) { console.log(res); }, fail(res){ console.log(res); } }) } })这样写感觉没问题,但是不行,为什么,看下面文档说明。
遇到了两个问题:
1、需要授权
2、路径不能是网络路径
一个问题一个问题解决,首先长按之后,不去保存图片,先去判断用户是否授权,这个接口就不多讲了,之前写过。
直接贴上代码
wx.getSetting({ success: (res) => { if (!res.authSetting['scope.writePhotosAlbum']) { wx.authorize({ scope: 'scope.writePhotosAlbum', success:()=> { // 同意授权 }, fail: (res) =>{ console.log(res); } }) }else{ // 已经授权了 } }, fail: (res) =>{ console.log(res); } })授权问题解决了以后,要处理另外一个问题,就是图片不能是网络路径。这个时候我们可以用到另外一个接口,叫 wx.getImageInfo()
通过文档看到,这个接口是可以接收网络路径的,返回的是本地路径。所以我们先用这个接口把网络路径转化一下,再拿去给wx.saveImageToPhotosAlbum用。
wx.getImageInfo({ src: url, success:(res)=> { let path = res.path; wx.saveImageToPhotosAlbum({ filePath:path, success(res) { console.log(res); }, fail:(res)=>{ console.log(res); } }) }, fail:(res)=> { console.log(res); } })所以整体的代码是这样子的
Page({ data: { url:"https://wechat.weixinzjit.com/costa/public/uploads/images/20190109/67b16149693920598435315fd0d5ab3e.jpg" }, // 长按保存图片 saveImg(e){ let url = e.currentTarget.dataset.url; //用户需要授权 wx.getSetting({ success: (res) => { if (!res.authSetting['scope.writePhotosAlbum']) { wx.authorize({ scope: 'scope.writePhotosAlbum', success:()=> { // 同意授权 this.saveImg1(url); }, fail: (res) =>{ console.log(res); } }) }else{ // 已经授权了 this.saveImg1(url); } }, fail: (res) =>{ console.log(res); } }) }, saveImg1(url){ wx.getImageInfo({ src: url, success:(res)=> { let path = res.path; wx.saveImageToPhotosAlbum({ filePath:path, success:(res)=> { console.log(res); }, fail:(res)=>{ console.log(res); } }) }, fail:(res)=> { console.log(res); } }) }, })以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
P70系列延期,华为新旗舰将在下月发布
3月20日消息,近期博主@数码闲聊站 透露,原定三月份发布的华为新旗舰P70系列延期发布,预计4月份上市。
而博主@定焦数码 爆料,华为的P70系列在定位上已经超过了Mate60,成为了重要的旗舰系列之一。它肩负着重返影像领域顶尖的使命。那么这次P70会带来哪些令人惊艳的创新呢?
根据目前爆料的消息来看,华为P70系列将推出三个版本,其中P70和P70 Pro采用了三角形的摄像头模组设计,而P70 Art则采用了与上一代P60 Art相似的不规则形状设计。这样的外观是否好看见仁见智,但辨识度绝对拉满。
更新日志
- faker加里奥s14决赛什么出装 faker加里奥s14决赛出装介绍
- 《马里奥与路易吉RPG:兄弟齐航》Fami通34分:路易吉存在感拉满
- 数据挖掘者新发现:NS继任机型或支持4K分辨率
- 宫本茂谈任天堂未来:研发费用增加但注重创意与传承
- 陈小云.2000-餐厅综艺金榜【海丽唱片】【WAV+CUE】
- 卓文萱.2008-翻滚吧!蛋炒饭电视原声带【滚石】【FLAC分轨】
- 顺子.2001-AND.MUSICS.THERE【EMI百代】【WAV+CUE】
- 《三国志8重置版》劝降机制介绍
- 《欢欣森活》最新官方配置要求一览
- 黑鸭子2012《印象江南》HQCD[日本版][WAV+CUE]
- 碧娜《温柔吻语》[WAV+CUE]
- MadeleinePeyroux-LetsWalk(2024)[FLAC][24B-96kHz]
- 纪钧瀚《舒眠心动钢琴曲 大提琴自然疗愈》[320K/MP3][140.28MB]
- 纪钧瀚《舒眠心动钢琴曲 大提琴自然疗愈》[FLAC/分轨][527.23MB]
- 张靓颖《UPDATE JANE》[低速原抓WAV+CUE][1G]