uniapp-小程序保存图片到相册

ops/2024/10/21 15:31:17/

小程序保存图片到相册

一. 将图片保存到手机相册涉及的api 有以下几个
1. uni.getSetting (获取用户的当前设置)
2. uni.authorize(提前向用户发起授权请求。调用后会立刻弹窗询问用户是否同意授权小程序使用某项功能或获取用户的某些数据,但不会实际调用对应接口。如果用户之前已经同意授权,则不会出现弹窗,直接返回成功。如果用户之前拒绝了授权,此接口会直接进入失败回调,一般搭配uni.getSetting和uni.openSetting使用)
3. uni.saveImageToPhotosAlbum (保存图片到系统相册。)
4. uni.openSetting (调起客户端小程序设置界面,返回用户设置的操作结果)

  1. 上代码
// html
<view class="save" @click.stop="saveImg" >保存海报</view>// js
data(){return {imgurl:"http://tmp/SfdWgOY45WZIabad69200882f9fee9f1a0cecc2c7275.png"}
},
methods:{saveImg(){let that = this//获取授权列表,查看是否授权写入相册权限uni.getSetting({success(res) {if (!res.authSetting['scope.writePhotosAlbum']) {uni.authorize({scope:'scope.writePhotosAlbum',success() {that.saveimgtoAlbum(that.imgurl)}})}else{that.saveimgtoAlbum(that.imgurl)}}})},saveimgtoAlbum(imgurl){//图片保存到本地let that = thisuni.showLoading()uni.saveImageToPhotosAlbum({filePath: imgurl,success: function (data) {uni.hideLoading()uni.showToast({title: '保存成功',icon: 'success',duration: 2000})},fail: function (err) {uni.hideLoading()if (err.errMsg === "saveImageToPhotosAlbum:fail auth deny") {uni.openSetting({success(settingdata) {if (settingdata.authSetting['scope.writePhotosAlbum']) {uni.showToast({title: '您已授权成功,请重新保存海报',icon: 'success',duration: 2000})} else {uni.showToast({title: '尚未授权,无法保存海报',icon: 'none',duration: 2000})}}})}},complete(res){console.log(res);}})}
}
  1. 上图

    在这里插入图片描述
    在这里插入图片描述

  2. 搞定!代码记录。


http://www.ppmy.cn/ops/11208.html

相关文章

SpringBoot多数据源(五)

SpringBoot多数据源-集成多个mybatis框架 1.基本框架2.使用2.1项目结构2.2 依赖导入2.3 application.yml配置2.4 创建读与写的SqlSessionFactoryBean 3.总结 1.基本框架 通过启动多个SqlSessionFactoryBean&#xff0c;每个SqlSessionFactoryBean对应一个datasource和指定位置的…

踏上R语言之旅:解锁数据世界的神秘密码(二)

R语言学习 文章目录 R语言学习1.数据的R语言表示2.多元数据的R语言调用3.多元数据的简单R语言分析4.多元数据的直观表示及R使用 总结 1.数据的R语言表示 数据框&#xff08;data frame) R语言中用函数data.frame()生成数据框&#xff0c;其句法是&#xff1a; data.frame(data…

前端的filter和实例字体

filter是css中的一个属性&#xff0c;具体值有&#xff08;常用的&#xff09;&#xff1a; blur(px)调整元素模糊度 brightness&#xff08;%&#xff09;图片亮度&#xff0c;为0时全黑 contrast(%) 调整图片的对比度 grayscale(%) 将图像转换为灰度图像。值定义转换的比例…

使用nginx发布tomcat站点

之前我们在访问的时候使用的都是类似http://serverip/test或者http://serverip/jpress这种字样的URL,使用起来比较麻烦,所以呢,我们可以将tomcat和nginx结合在一起,可以通过nginx以下功能发布: 使用nginx url重写使用nginx的反向代理功能一、部署tomcat网站 通过部署两个…

洗地机哪个牌子好?推荐这四款热销品牌

随着科技的不断发展&#xff0c;洗地机已经成为了家庭中不可或缺的智能家居设备。它们能够帮助我们轻松地完成地面清洁工作&#xff0c;节省时间和精力。但是&#xff0c;面对市场上琳琅满目的洗地机品牌&#xff0c;我们该如何选择呢&#xff1f;本文将为大家介绍四大口碑洗地…

STM32学习和实践笔记(13):数码管显示实验

共阳就是共正极&#xff0c;也就是正极全部接在一起。 共阴就是共负极&#xff0c;也就是负极全部接在一起。 我目前使用这款PZ6806L&#xff0c;使用了一个共阳数码管。 共阴与共阳在码表上其实就是正好取反就可以了&#xff0c;所以可以共用一个码表。 数码管显示程序主要分…

【Python】openpyxl库的介绍及用法

目录 1、应用场景 2、openpyxl库-三方库 1、应用场景 openpyxl库在Python中处理Excel文件的各种场景中都非常有用。以下是一些具体的应用场景&#xff1a; 数据分析&#xff1a;你可以使用openpyxl读取Excel数据&#xff0c;然后使用Python进行数据清洗、转换和分析。报告生…

销帮帮CRM与电商运营增效的关系?

在电商运营中&#xff0c;不同部门之间往往存在信息壁垒&#xff0c;导致客户体验的不连贯。销帮帮CRM通过提供跨职能管理客户关系的共享平台和一体化工作流引擎&#xff0c;使员工能够使用正确的工具和数据更有效地管理跨业务线的客户关系&#xff0c;实现更互联的客户体验。这…