微信小程序-长按图片保存到相册

  • 首页需要通过 wx.getSetting 先查询一下用户是否授权了写入相册权限;
  • 其次对于网络图片,可调用wx.downloadFile下载文件资源到本地;
  • 然后非网络图片,可以调用wx.getImageInfo(Object object)获取图片信息;
  • 最后调用wx.saveImageToPhotosAlbum,保存图片到系统相册。

1.wxml代码

长按保存bindlongtap方法

2.js代码

  /****长按保存图片 */
  saveImg: function () {
    let that=this
    wx.getSetting({
      success(res) {
        //未授权 先授权 然后保存
        if (!res.authSetting['scope.writePhotosAlbum']) {
          wx.authorize({
            scope: 'scope.writePhotosAlbum',
            success(re) {
              that.saveToBlum();
            }
          })
        }else{
         //已授 直接调用保存到相册方法
          that.saveToBlum();
        }
      }
    })  
  },
 //保存到相册方法
  saveToBlum:function(){
    let imgUrl = '非网络图片';
    wx.getImageInfo({
      src: imgUrl,
      success: function (ret) {
        var path = ret.path;
        wx.saveImageToPhotosAlbum({
          filePath: path,
          success(result) {
            wx.showToast({
              title: '保存成功',
              icon: 'success'
            })
          },
        })
      }
    })
  },
 //保存网络图片到相册方法
  saveToBlum:function(){
    wx.downloadFile({
      url: '网络图片地址',
      success: function (res) {
        wx.saveImageToPhotosAlbum({
          filePath: res.tempFilePath,
          success(result) {
            wx.showToast({
              title: '保存成功',
              icon: 'success'
            })
          }
        })
      }
    })
  },

 

你可能感兴趣的:(微信小程序)