微信小程序> 小程序之保存图片到相册的几种方法

小程序之保存图片到相册的几种方法

浏览量:647 时间: 来源:这个杀手好冷

保存图片到本地有两种方法,其一是网络图片保存到相册,其二本地图片保存到相册。

 

保存图片前需要授权,因此我们先授权,代码如下:

//获取相册授权wx.getSetting({success(res) {if (!res.authSetting['scope.writePhotosAlbum']) {wx.authorize({scope:'scope.writePhotosAlbum',success() {console.log('授权成功')}})}}})//此方法可以写在app.js中,也可以写在调用保存按钮时。

第一种方法,网络图片保存:

var imgSrc = "http://yijiao.oss-cn-qingdao.aliyuncs.com/images/http://tmp/wx1b4e5e756cd48af1.o6zAJsws4grEQvYrWTjBigy-6QaU.0llhudiKSF2V955a1c48350d9328ef064b4d36d12746.jpg"    wx.downloadFile({      url: imgSrc,      success: function (res) {        console.log(res);        //图片保存到本地        wx.saveImageToPhotosAlbum({          filePath: res.tempFilePath,          success: function (data) {            wx.showToast({              title: '保存成功',              icon: 'success',              duration: 2000            })          },          fail: function (err) {            console.log(err);            if (err.errMsg === "saveImageToPhotosAlbum:fail auth deny") {              console.log("当初用户拒绝,再次发起授权")              wx.openSetting({                success(settingdata) {                  console.log(settingdata)                  if (settingdata.authSetting['scope.writePhotosAlbum']) {                    console.log('获取权限成功,给出再次点击图片保存到相册的提示。')                  } else {                    console.log('获取权限失败,给出不给权限就无法正常使用的提示')                  }                }              })            }          },          complete(res){            console.log(res);          }        })      }    })

第二种方法:选择相册图片存入本地

 

wx.chooseImage({count:1,// 默认9sizeType: ['original','compressed'],// 可以指定是原图还是压缩图,默认二者都有sourceType: ['album','camera'],// 可以指定来源是相册还是相机,默认二者都有success:function (res) {// 返回选定照片的本地文件路径列表,tempFilePath可以作为img标签的src属性显示图片console.log("choose image")console.log(res)var tempFilePath = res.tempFilePaths[0]wx.getImageInfo({src: tempFilePath,success:function (res) {console.log("get image info")console.log(res)wx.saveImageToPhotosAlbum({filePath: res.path,success(res) {console.log("保存图片成功")console.log(res)wx.showToast({title:'保存成功',icon:'success',duration:2000})},fail(err) {console.log('失败')console.log(err)if (err.errMsg == "saveImageToPhotosAlbum:fail cancel"){wx.openSetting({success(settingdata) {console.log(settingdata)if (settingdata.authSetting["scope.writePhotosAlbum"]) {console.log('获取权限成功,给出再次点击图片保存到相册的提示。')}else {console.log('获取权限失败,给出不给权限就无法正常使用的提示')}}})}}})}})}})

转载 https://www.jianshu.com/p/5479041607fa

版权声明

即速应用倡导尊重与保护知识产权。如发现本站文章存在版权问题,烦请提供版权疑问、身份证明、版权证明、联系方式等发邮件至197452366@qq.com ,我们将及时处理。本站文章仅作分享交流用途,作者观点不等同于即速应用观点。用户与作者的任何交易与本站无关,请知悉。

产品经理

手机 : 13312967497

擅长 : 小程序流量变现

扫码领取礼包

热门模板

  • 头条
  • 搜狐
  • 微博
  • 百家
  • 一点资讯
  • 知乎