likes
comments
collection
share

微信小程序保存图片到手机相册

作者站长头像
站长
· 阅读数 42

微信小程序保存图片到手机相册

前言

小程序接到新需求,需要把指定图片保存到本地手机相册,利用官方提供的wx.saveImageToPhotosAlbumapi,不可以直接进行保存,因为filePath是可以放临时文件路径或者永久文件路径,但是filePath是一个相对路径,而我们需要的是临时文件的路径或者永久文件路径,所以需要对它进行转换。

区别和开发逻辑

相对路径:小程序项目内中的相对文件路径。
临时文件路径: 从网上下载生成的文件。
永久文件路径:小程序项目中文件的文件路径。

先检查用户请求的权限内是否允许保存图片或视频到你的相册权限,如果没有则应该向用户发起权限申请,授权成功后,点击保存图片——>保存成功,如果拒绝授权,则需要通过设置页重新授权

wx.downloadFilewx.getImageInfo

wx.downloadFile只可以获取网络上的图片文件资源而wx.getImageInfo既可以获取网络资源也可以获取本地资源,是全能型。

wx.downloadFile({
    url:'网络文件地址',
    success: function (res) {
        //只要服务器有响应,就会把数据文件,赋值到success中
    },
  fail() {
    wx.showToast({
      icon: 'none',
      title: '保存失败,请稍后重试'
    });
  }
})

wx.saveImageToPhotosAlbumwx.downloadFile结合

只要success成功相应(既返回文件路径),就可以调用saveImageToPhotosAlbum方法,因为它接收的是相对路径,回调函数内有tempFilePath属性。success和fail方法分别是调用成功和失败函数可以进行相关的提示信息。

wx.downloadFile({
    url:'网络文件地址',
    success: function (res) {
       wx.saveImageToPhotosAlbum({
          filePath:res.tempFilePath,
          success: (res) => {
            wx.showToast({
              title: '保存成功,请到相册中查看'
            });
          },
          fail: (err) => {
            wx.showToast({
              icon: 'none',
              title: '保存失败,请稍后重试'
            });
          }
       })
    }
})
转载自:https://juejin.cn/post/7057445411572678693
评论
请登录