uni 保存图片(判断用户是否授权)

// 保存图片
saveImage() {
	let that = this;
    // 向用户发起授权请求
    uni.authorize({
  		scope: 'scope.writePhotosAlbum',
        success: () => {
	        // 已授权,调用保存图片方法
	        that.handleSaveImg ();
        },
        fail: () => {
	        // 拒绝授权,获取当前设置
	        uni.getSetting({
	          success: (result) => {
	            if (!result.authSetting['scope.writePhotosAlbum']) {
	            	// 开启授权
	              	that.isAuth()
	            }
	          }
	       	});
		}
    })
},

// 引导用户开启权限
isAuth() {
  uni.showModal({
    content: '由于您还没有允许保存图片到您相册里,无法进行保存,请点击确定允许授权',
    success: (res) => {
      if (res.confirm) {
        uni.openSetting({
          success: (result) => {
            console.log(result.authSetting);
          }
        });
      }
    }
  });
},
 
// 保存图片
handleSaveImg () {
   // 由于saveImageToPhotosAlbum不支持网络图片路径,所以要通过downloadFile下载文件资源到本地
   uni.downloadFile({
   		url: 'https://www.example.com/upload', //仅为示例,非真实的接口地址
	   	success: (res) => {
	   		if (res.statusCode === 200) {
	   			uni.saveImageToPhotosAlbum({
		           filePath: res.tempFilePath,
		           success: () => {
		             this.toast('保存成功')
		           }
	         	});
	   		}
	   	}
   });
},
保存图片用到的API
  • uni.downloadFile
    下载文件资源到本地
    文档

  • uni.saveImageToPhotosAlbum
    保存图片到系统相册(不支持网络图片路径)
    文档

  • uni.authorize
    提前向用户发起授权请求
    文档

  • uni.openSetting
    调起客户端小程序设置界面,返回用户设置的操作结果
    文档

  • uni.getSetting
    获取用户的当前设置
    文档

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值