uniapp保存图片到相册demo效果(整理)

简介: uniapp保存图片到相册demo效果(整理)

<template>
  <view class="demoPage">
    <view @click="saveImg">保存至相册</view>
  </view>
</template>
<script>
  export default {
    components: {},
    data() {
      return {
        url: 'http://img.touxiangwu.com/2020/3/uq6Bja.jpg', //图片
      }
    },
    // 侦听器
    watch: {
    },
    // 计算属性
    computed: {
    },
    // 页面加载
    onLoad(e) {
    },
    // 页面显示
    onShow() {
    },
    // 方法
    methods: {
      saveImg() {
        let that = this;
        // 向用户发起授权请求
        uni.authorize({
          scope: 'scope.writePhotosAlbum',
          success: () => {
            // 已授权
            that.downImg();
          },
          fail: () => {
            // 拒绝授权,获取当前设置
            uni.getSetting({
              success: (result) => {
                if (!result.authSetting['scope.writePhotosAlbum']) {
                  that.isAuth()
                }
              }
            });
          }
        })
      },
      //下载
      downImg() {
        uni.showLoading({
          title: '加载中'
        });
        uni.downloadFile({
          url: this.urlImg,
          success: (res) => {
            uni.hideLoading();
            if (res.statusCode === 200) {
              uni.saveImageToPhotosAlbum({
                filePath: that.url, //图片地址url
                success: function() {
                  uni.showToast({
                    title: "保存成功",
                    icon: "none"
                  });
                },
                fail: function() {
                  uni.showToast({
                    title: "保存失败,请稍后重试",
                    icon: "none"
                  });
                }
              });
            }
          },
          fail: (err) => {
            uni.showToast({
              title: "失败啦",
              icon: "none"
            });
          }
        })
      },
      /*
       * 引导用户开启权限
       */
      isAuth() {
        uni.showModal({
          content: '由于您还没有允许保存图片到您相册里,无法进行保存,请点击确定允许授权',
          success: (res) => {
            if (res.confirm) {
              uni.openSetting({
                success: (result) => {
                  console.log(result);
                }
              });
            }
          }
        });
      },
    },
    // 页面隐藏
    onHide() {
    },
    // 页面卸载
    onUnload() {
    },
    // 触发下拉刷新
    onPullDownRefresh() {
    },
    // 页面上拉触底事件的处理函数
    onReachBottom() {
    },
  }
</script>
相关文章
|
6月前
|
存储 开发框架 JavaScript
uniapp、vue、小程序、js图片转base64 示例代码
uniapp、vue、小程序、js图片转base64 示例代码
479 0
|
6月前
|
小程序 搜索推荐
uniapp中如何使用image图片
uniapp中如何使用image图片
1463 0
uniapp小程序单页面改变手机电量,头部通知的颜色效果demo(整理)
uniapp小程序单页面改变手机电量,头部通知的颜色效果demo(整理)
|
1月前
|
移动开发 小程序
UniApp+uView实现图片上传返回Base64
UniApp+uView实现图片上传返回Base64
57 0
|
3月前
|
小程序 前端开发
|
4月前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的智能化智能化电子相册附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的智能化智能化电子相册附带文章源码部署视频讲解等
35 1
|
4月前
|
存储
uniapp实战 -- 个人信息维护(含选择图片 uni.chooseMedia,上传文件 uni.uploadFile,获取和更新表单数据)
uniapp实战 -- 个人信息维护(含选择图片 uni.chooseMedia,上传文件 uni.uploadFile,获取和更新表单数据)
156 2
|
4月前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp小程序的图片推荐系统附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp小程序的图片推荐系统附带文章源码部署视频讲解等
46 0
|
5月前
|
JavaScript Java 测试技术
基于ssm+vue.js+uniapp小程序的网络相册附带文章和源代码部署视频讲解等
基于ssm+vue.js+uniapp小程序的网络相册附带文章和源代码部署视频讲解等
28 0
|
5月前
|
JavaScript Java 测试技术
基于ssm+vue.js+uniapp小程序的电子相册系统附带文章和源代码部署视频讲解等
基于ssm+vue.js+uniapp小程序的电子相册系统附带文章和源代码部署视频讲解等
37 0