微信小程序中長按保存圖片(https/本地)的三種方式

微信小程序長按二維碼的方式

方法一,圖片放在雲上或者是https開頭的

 //保存圖片
  savePic:function(e){
    let that = this;
    let src = e.currentTarget.dataset.src;
    wx.showModal({
      title: '提示',
      content: '確定保存二維碼?',
      success(res){
        if (res.confirm) {
          wx.downloadFile({
            url: 'https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1575027657735&di=d818c4fc5f0d4aa9ea3790600dd20d16&imgtype=0&src=http%3A%2F%2Fhbimg.b0.upaiyun.com%2Faadcf356470c9a6717ab6c5ed73476025fd1a1a410da7-kArZxa_fw658',
            success: function (res) {
              //圖片保存到本地
              wx.saveImageToPhotosAlbum({
                filePath: res.tempFilePath,
                success: function (data) {
                  wx.showToast({
                    title: '保存成功!',
                  })
                },
                fail: function (err) {
                  if (err.errMsg === "saveImageToPhotosAlbum:fail cancel") {
                    wx.showToast({
                      title: '保存失敗!',
                      icon: 'none'
                    })
                  }
                },
              })
            },
            fail: function (res) {
              wx.showModal({
                title: '文件下載錯誤',
                content: res.errMsg,
              })
            },
          })
        } else if (res.cancel) {
        }
      }
    })
  },

本地的圖片

sence:是一個base64轉成的如下圖,這個的話是可以在線將圖片轉換成base64搜一下就可以有轉換的網站了。

 //保存圖片
  savePic:function(e){
    let that = this;
    let src = e.currentTarget.dataset.src;
    wx.showModal({
      title: '提示',
      content: '確定保存二維碼?',
      success(res){
        if (res.confirm) {
           var aa = wx.getFileSystemManager();
           aa.writeFile({
             filePath: wx.env.USER_DATA_PATH + '/PATRIZIA PEPE.png',
             data: that.data.scene.slice(22),
             encoding: 'base64',
             success: res => {
               wx.saveImageToPhotosAlbum({
                 filePath: wx.env.USER_DATA_PATH + '/PATRIZIA PEPE.png',
                 success: function (res) {
                   wx.showToast({
                     title: '保存成功',
                   })
                 },
                 fail: function (err) {
                 }
               })
       
             }, fail: err => {
             }
           })
        
        } else if (res.cancel) {
        }
      }
    })
  },
 savePhoto () {
        const _this = this;
        wx.getImageInfo({
            src: '/static/images/home/Qr.png',
            success: function (res) {
                wx.saveImageToPhotosAlbum({
                    filePath: res.path,
                    success (result) {
                        _this.setData({ show: false });
                        wx.showToast({
                            title: '保存成功',
                            icon: 'success',
                            duration: 2000
                        })
                    },
                    fail (err) {
                        if (err.errMsg === "saveImageToPhotosAlbum:fail auth deny") {
                            wx.openSetting({
                                success (settingdata) {
                                    if (settingdata.authSetting['scope.writePhotosAlbum']) {
                                        _this.savePhoto()
                                    } else {
                                        wx.showToast({
                                            title: '獲取權限失敗,無法保存圖片',
                                            icon: 'success',
                                            duration: 2000
                                        })
                                    }
                                }
                            })
                        }
                    }
                })
            }
        })
    }

作者:yosun
鏈接:https://juejin.im/post/5dc22be2f265da4d0a68db87
來源:掘金
著作權歸作者所有。商業轉載請聯繫作者獲得授權,非商業轉載請註明出處。

第三個方法是無意間在看掘金的時候發現的,非常的使用簡單。而且這篇文章中也分享了很多的小程序巧用的知識點,大家可以去看看

最後其實這三個的方式最後都是用到了微信的 wx.saveImageToPhotosAlbum(Object object)

具體的可以參考微信官方文檔 https://developers.weixin.qq.com/miniprogram/dev/api/media/image/wx.saveImageToPhotosAlbum.html

發佈了64 篇原創文章 · 獲贊 22 · 訪問量 9萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章