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)
}
})
},

最新文章

  1. 清空Fragment回退栈中某个Fragment
  2. meta 详解,html5 meta 标签日常设置
  3. RDIFramework.NET -.NET快速信息化系统开发整合框架 【开发实例 EasyUI】之产品管理(WebForm版)
  4. SQL Pass北京举办1周年活动(本次活动特别邀请到了来自微软的SQL Server大师何雷谈数据库职业规划)
  5. [Asp.net 5] Configuration-新一代的配置文件(神奇的Binder)
  6. 【python】An Introduction to Interactive Programming in Python(week two)
  7. 二模 (4)day2
  8. C++11 | 正则表达式(4)
  9. <%@include和<jsp:include
  10. 微信分组群发图文40152,微信分组群发图文invalid group id hint
  11. Linux操作系统Centos7.2版本搭建Apache+PHP+Mysql环境
  12. dreamweaver破解版下载地址
  13. 【http】http的方法,状态码和组成部分
  14. hdu4746 Mophues
  15. 初学者没有搞明白的GOROOT,GOPATH,GOBIN,project目录
  16. Mock接口平台Moco学习
  17. session前后台交互
  18. xlwt模块的使用
  19. sqlserver 导入数据出现 无法创建 OLE DB 取值函数。请查看列元数据是否有效
  20. [原]openstack-kilo--issue(十三)Unauthorized: The request you have made requires authentication. (HTTP 401) (Request

热门文章

  1. IDEA微服务项目SpringBoot一键(批量)顺序启动
  2. 【LeetCode】1133. Largest Unique Number 解题报告(C++)
  3. 【LeetCode】822. Card Flipping Game 解题报告(Python)
  4. 【LeetCode】371. Sum of Two Integers 解题报告(Python)
  5. Rikka with wood sticks(hdu5203)
  6. C# 编写 Windows 动态桌面软件实现(一)之桌面交互功能
  7. Differential Evolution: A Survey of the State-of-the-Art
  8. # 中文NER的那些事儿6. NER新范式!你问我答之MRC
  9. 在linux(deepin)系统下查看当前ip地址与用户名
  10. 读书笔记markdown模板