网络编程
位置:首页>> 网络编程>> JavaScript>> 微信小程序保存图片到相册权限设置

微信小程序保存图片到相册权限设置

作者:默认S  发布时间:2024-06-16 19:48:50 

标签:微信小程序,相册

微信小程序保存图片到相册可以分成两种:一种是保存网络图片,一种是保存本地图片

保存网络图片:


var url = '网络图片路径';
wx.downloadFile({
url: url,
 success: function (res) {
 var benUrl = res.tempFilePath;
 //图片保存到本地相册
 wx.saveImageToPhotosAlbum({
  filePath: benUrl,
  //授权成功,保存图片
  success: function (data) {
  wx.showToast({
   title: '保存成功',
   icon: 'success',
   duration: 2000
  })
  },
  //授权失败
  fail: function (err) {
  if (err.errMsg) {//重新授权弹框确认
   wx.showModal({
    title: '提示',
    content: '您好,请先授权,在保存此图片。',
    showCancel: false,
    success(res) {
    if (res.confirm) {//重新授权弹框用户点击了确定
     wx.openSetting({//进入小程序授权设置页面
     success(settingdata) {
      console.log(settingdata)
      if (settingdata.authSetting['scope.writePhotosAlbum']) {//用户打开了保存图片授权开关
      wx.saveImageToPhotosAlbum({
       filePath: benUrl,
       success: function (data) {
       wx.showToast({
        title: '保存成功',
        icon: 'success',
        duration: 2000
       })
       },
      })
      } else {//用户未打开保存图片到相册的授权开关
      wx.showModal({
       title: '温馨提示',
       content: '授权失败,请稍后重新获取',
       showCancel: false,
      })
      }
     }
     })
    }
    }
   })
  }
  }
 })
 }
})

保存本地图片:


wx.chooseImage({
count: 1,// 默认9
 sizeType: ['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://blog.csdn.net/qq_37949737/article/details/93719454

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com