• 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'
                          })
                        }
                      })
                    }
                  })
              }
            })
          }
        })
      }
  • 相关阅读:
    一个来自红帽的Java垃圾回收算法,试图把停顿时间降到10毫秒以下 原创 2017-01-10 薛命灯
    Filter 配置多个URL-PATTERN
    页面接口防刷 解决思路一nginx
    数据库 原理解析
    程序员提高工作效率的15个技巧【Facebook】
    我总是记不住的那几个代码
    自适应开发
    文字换行
    CSS对字体单位的总结
    页面距离总结
  • 原文地址:https://www.cnblogs.com/juewuzhe/p/12617909.html
Copyright © 2020-2023  润新知