Taro -- 微信小程序長按圖片保存到相冊


微信小程序長按圖片保存到相冊

方法1:可以通過先點擊預覽圖片Taro.previewImage,再長按保存到相冊。

<Image src={imagePath} data-url={imagePath} onClick={this.previewImage}></Image>
// 預覽圖片
  previewImage(e) {
    var current = e.target.dataset.url;   //這里獲取到的是一張本地的圖片
    Taro.previewImage({
      current: [current],//需要預覽的圖片鏈接列表
      urls: [current]  //當前顯示圖片的鏈接
    })
  }

方法2:

首先需要通過 Taro.getSetting 先查詢一下用戶是否授權了寫入相冊權限;
其次對於網絡圖片,可調用Taro.downloadFile下載文件資源到本地;
然后非網絡圖片,可以調用Taro.getImageInfo(Object object)獲取圖片信息;
最后調用Taro.saveImageToPhotosAlbum,保存圖片到系統相冊。

<Image src={imagePath} onLongPress={this.downloadImg}></Image>
// onLongPress事件
  downloadImg(){
    let _this = this;
    Taro.getSetting({
      success: res => {
        Taro.authorize({
          scope:'scope.writePhotosAlbum',
          success: res => {
              console.log('授權成功');
              let imgUrl = _this.state.imagePath;
              console.log(imgUrl);
              Taro.downloadFile({  //下載文件資源到本地,客戶端直接發起一個HTTP GET 請求,返回文件的本地臨時路徑
                url: imgUrl,
                success: res => {
                  Taro.saveImageToPhotosAlbum({
                    filePath: res.tempFilePath, //返回的臨時文件路徑,下載后的文件會存儲到一個臨時文件
                    success: res => {
                      Taro.showToast({
                        title: '成功保存到相冊',
                        icon: 'success'
                      })
                    }
                  })
                }
              })
          }
        })
      }
    })
  }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM