uniapp保存base64格式图片的方法首先第一要先获取用户的权限

saveAlbum(){//获取权限保存相册
uni.getSetting({//获取用户的当前设置
success:(res)=> {
// console.log("获取权限",res);
if(res.authSetting['scope.writePhotosAlbum']){//验证用户是否授权可以访问相册
this.saveImageToPhotosAlbum();
}else{
uni.authorize({//如果没有授权,向用户发起请求
scope: 'scope.writePhotosAlbum',
success:()=> {
this.saveImageToPhotosAlbum();
},
fail:()=>{
uni.showToast({
title:"请打开保存相册权限,再点击保存相册分享",
icon:"none",
duration:3000
});
setTimeout(()=>{
uni.openSetting({//调起客户端小程序设置界面,让用户开启访问相册
success:(res2)=> {
// console.log(res2.authSetting)
}
});
},3000);
}
})
}
}
})
},

第二步是保存的代码

代码里面都有清晰的注释可以看

${this.$u.guid(8)}这里我用的是uview的一个自动生成随机八位数唯一字段的js 也可以替换成你需要生成的文件名称 也可以是固定的名称

只不过保存第二次的时候图片名称不会变化

saveImageToPhotosAlbum(){
let base64=this.maskData.replace(/^data:image\/\w+;BASE64,/, "");//去掉data:image/png;base64,
let filePath=wx.env.USER_DATA_PATH + `/hym_pay${this.$u.guid(8)}_qrcode.png`;
uni.getFileSystemManager().writeFile({
filePath:filePath , //创建一个临时文件名
data: base64,   //写入的文本或二进制数据
encoding: 'base64', //写入当前文件的字符编码
success: res => {
uni.saveImageToPhotosAlbum({
filePath: filePath,
success: function(res2) {
uni.showToast({
title: '保存成功,请从相册选择再分享',
icon:"none",
duration:5000
})
},
fail: function(err) {
// console.log(err.errMsg);
}
})
},
fail: err => {
//console.log(err)
}
})
},

uniapp微信小程序保存base64格式图片的方法的更多相关文章

  1. 微信小程序开发——base64位图片显示问题

    前言: 目前小程序项目需要后端借口提供验证码图片,后端是以base64位返回的,按照H5的做法,前边拼上 data:image/png;base64, 应该就可以了,关键代码如下: H5: <i ...

  2. 微信小程序:本地资源图片无法通过 WXSS 获取,可以使用网络图片或者 base64或者使用image标签

    微信小程序:本地资源图片无法通过 WXSS 获取,可以使用网络图片或者 base64或者使用image标签 一.问题 报错信息: VM696:2 pages/user/user.wxss 中的本地资源 ...

  3. 微信小程序--canvas画布实现图片的编辑

    技术:微信小程序   概述 上传图片,编辑图片大小,添加文字,改变文字颜色等 详细 代码下载:http://www.demodashi.com/demo/14789.html 概述 微信小程序--ca ...

  4. 微信小程序-显示外链图片 bug

    微信小程序-显示外链图片 bug 显示外链图片 bug 403 bug 禁止外链,未授权 https://httpstatuses.com/403 image component 图片.支持 JPG. ...

  5. 微信小程序自动去除input空格的方法

    当用户输入账号或者密码的时候,可能会有输入空格的情况,但是实际需要是不能够有空格的,所以我们要做一个去除空格,并且适应所有input的name参数的方法,下面请看源码: wxml: <input ...

  6. 微信小程序之base64图片如何预览与一键保存到本地相册?

    需求:由于后台服务器各方面的限制,现在服务器返回的图片是base64格式的,小程序端需要支持预览图片和多个图片一键下载功能 一.如何预览base64位图片? WXML页面:item.src的值是bas ...

  7. 【重点突破】—— UniApp微信小程序开发教程学习Three

    一.实战 HBuilderX:在微信小程序中运行页面,需要设置->安全 开启微信小程序服务端口,HBuilder工具->设置->配置程序路径 网络请求.模板语法.打开页面.页面传参 ...

  8. 【重点突破】—— UniApp 微信小程序开发官网学习One

    一.初步认识 uni-app官网:https://uniapp.dcloud.io/component/README HBuilderX官方IDE下载地址: http://www.dcloud.io/ ...

  9. 微信小程序开发之多图片上传+服务端接收

    前言: 业务需求,这次需要做一个小程序同时选中三张图片一起上传到服务端,后端使用的.NET WEBAPI接收数据保存. 使用技术: 在这章中将会使用到微信小程序wx.uploadFile(Object ...

随机推荐

  1. ts 遇到的问题

    1. Property 'generatePdf' does not exist on type 'Element'. 问题:ts类型校验报错,使得编译失败 解决方法:将报错字段定义为any类型

  2. nim_duilib(8)之combo

    introduction 更多控件用法,请参考 here 和 源码. 本文的代码基于这里 combo的更多用法,请参考源码中combo.h提供的函数,文末添加其提供的公有函数 xml文件添加代码 基于 ...

  3. 【LeetCode】985. Sum of Even Numbers After Queries 解题报告(C++)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 暴力 找规律 日期 题目地址:https://lee ...

  4. 【LeetCode】944. Delete Columns to Make Sorted 解题报告(Python)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 日期 题目地址:https://leetcode.c ...

  5. 【LeetCode】396. Rotate Function 解题报告(Python)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 题目地址:https://leetcode.com/problems/rotate-fu ...

  6. 【剑指Offer】旋转数组中的最小数字 解题报告(Python)

    [剑指Offer]旋转数组中的最小数字 解题报告(Python) 标签(空格分隔): LeetCode 题目地址:https://www.nowcoder.com/ta/coding-intervie ...

  7. 【剑指Offer】和为S的两个数字 解题报告(Python)

    [剑指Offer]和为S的两个数字 解题报告(Python) 标签(空格分隔): 剑指Offer 题目地址:https://www.nowcoder.com/ta/coding-interviews ...

  8. MySql各事务隔离级别及锁问题

    聊事务隔离级别和锁问题之前首先得理解事务的隔离级别和共享锁及独占锁的概念: 事务的隔离级别:   脏读 不可重复读 幻读 Read uncommitted √ √ √ Read committed × ...

  9. 初识python: 模块定义及调用

    一.定义 模块:用来从逻辑上组织python代码(变量.函数.类.逻辑:实现一个功能),本质就是.py结尾的python文件(比如:文件名:test.py,对应的模块名:test) 包:用来从逻辑上组 ...

  10. JMeter_csv文件参数化

    CSV Data Set Config 可以从指定的文件中一行一行的提取文本内容,每行的数据通过分隔符拆解,并与变量名一一对应,就可以供取样器引用了. 所以在配置数据时,我们需要把参数化的数据进行分行 ...