开始

最近项目中遇到个问题,就是生成海报的时候,需要画上小程序的二维码,然后后台返回的二维码图片是base64的格式,真机生成海报后二维码没有显示。
所以就把后台返回的base64格式的二维码图片转为本地图片,主要的API有wx.getFileSystemManager和wx.getFileSystemManager().writeFileSync。

wx.getFileSystemManager

小程序通过wx.getFileSystemManager()可以获得全局唯一的文件管理器,所有的文件管理都通过FileSystemManager来进行管理

const FileSystemManager = wx.getFileSystemManager();

一般我们都是将文件添加到手机,即称为本地文件,文件的格式为:
{{协议名}}: //文件路径
其中,在安卓和ios客户端中协议名是’wxfile’,在开发者工具上是“http”,开发者无须去关心这个协议的差异。

将base64图片转为本地用户文件

具体操作如下:

let code = res.data.code; // 后台返回的base64图片,没有带data:image/png;base64,的前缀。
let src = `data:image/png;base64,${code}`;
const fsm = wx.getFileSystemManager();  // 获取文件管理器
code = code .replace(/\ +/g, ""); //去掉空格方法
code = code .replace(/[\r\n]/g, "");const buffer = wx.base64ToArrayBuffer(code );  //  将 base64 字符串转成 ArrayBuffer 对象
const fileName = wx.env.USER_DATA_PATH + '/share_img.png';  // 文件系统中的用户目录路径 (本地路径)
/**
* @param fileName: 文件路径
* @param buffer : 要写入的文本或二进制数据
* @param binary: 指定写入文件的字符编码
*/
fsm.writeFileSync(fileName, buffer, 'binary');  // 写入文件, 同步方法console.log(fileName);  // 写入成功后就可以访问到该图片路径了

微信小程序之将base64图片转为本地图片相关推荐

  1. 微信小程序不显示base64位图片

    我是用uniapp开发,一开始在微信小程序无法显示base64 图片 但是在开发者工具上可以 如果是存在自动换行的话可以使用 xxx.replace(/[\r\n]/g,""); ...

  2. 微信小程序中使用Base64编码解码

    创建js-base64.js文件 (function(global) {'use strict';var global = global || {};var _Base64 = global.Base ...

  3. 微信小程序壁纸源码+自动采集小米图片

    简介: 小程序内核里面对接的是小米壁纸,自动采集无需自己手动上传,而且可以搜索的内容很多​,各种类型的壁纸图片都是有的. 搭建方法: ​1,注册微信小程序,类目选工具_图片​. 2,将源码导入开发者工 ...

  4. uniapp微信小程序服务器与行内img src图片路径拼接

    uniapp微信小程序服务器与行内img src图片路径拼接 1.在main.js 在行内直接引入 运行就可以连接到服务器的图片了

  5. 微信小程序 本地mysql_微信小程序系列之使用缓存在本地模拟服务器数据库

    微信小程序系列之使用缓存在本地模拟服务器数据库 现在将data.js这个文件视作是本地数据库的初始化数据,要做的第一件事就是讲这些初始化数据装进缓存中,以形成数据库的初始化数据 整个应用程序的生命周期 ...

  6. 微信小程序开发:学习笔记[9]——本地数据缓存

    微信小程序开发:学习笔记[9]--本地数据缓存 快速开始 说明 本地数据缓存是小程序存储在当前设备上硬盘上的数据,本地数据缓存有非常多的用途,我们可以利用本地数据缓存来存储用户在小程序上产生的操作,在 ...

  7. 【图文保存为图片并下载到相册】海报 h5, 微信和 ios 不支持 和 用uniapp 微信小程序 使用canvas把页面转为图片保存到手机

    第一种,[图文保存为图片并下载到相册] h5, 微信和 ios 不支持 1,安装html2canvas npm install html2canvas --save 2,在需要的页面引入 import ...

  8. 微信小程序预览base64图片

    起因:微信小程序下载图片,请求后台返回一堆乱码的字符 解决办法 1.请求部分加上 responseType: 'arraybuffer' 2.由于微信官方不再维护wx.arrayBufferToBas ...

  9. 【微信小程序】将base64图片保存至本地

    需求描述 微信小程序中,下载一个报告文件,直接可获取到的是报告图片的base64格式. 参考文章 1.微信小程序实现图片下载功能 2.微信小程序把base64的图片保存到手机相册 代码实现 1.wxm ...

最新文章

  1. 深度学习方法笔记之(一):SVM的基本模型
  2. html打印边距影响内容大小,关于web打印的问题,如何控制纸张大小和页边距
  3. sqlalchemy query
  4. 504.七进制数(力扣leetcode) 博主可答疑该问题
  5. fm核武破解 java出错_关闭Java时后台的FM无法恢复
  6. 不需要mysql的php博客_几款免费的不用数据库的php的cms
  7. win10共享打印机搜索不到计算机,大师告诉您Win10搜不到共享打印机的操作方案...
  8. pandas的重复值的处理
  9. Bugku:web 秋名山老司机
  10. JEECMS 自定义标签
  11. 关于调整互联网、电话订票起售时间的公告
  12. 给定一个由N个非负整数构成的序列,我们来定义一下序列的中位数,如果N是奇数,在对序列排序后,中位数就是最中间的那个数,即排序后,中位数的位置为(N+1)/2,这里序列的位置从1开始。如果N是偶数,则中
  13. 计算机更换硬盘键盘鼠标不好使,计算机上安装的原始Win7系统的鼠标和键盘无法移动硬盘,并且无法识别解决方案...
  14. 搞清楚nand flash和 nor flash 以及 spi flash 和cfi flash 的区别
  15. 读书笔记-深度学习推荐系统4-推荐与embedding
  16. “马云概念股”起舞 智慧物流大数据风起云涌
  17. Taro关闭页面时停止计时器
  18. python库——argparse
  19. PIC芯片调试记录:配置字对程序调试和烧录后是否工作的影响,及部分应用总结
  20. C++智能指针3——弱指针weak_ptr详解

热门文章

  1. css设置背景图片模糊,内容不模糊
  2. 基于MATLAB的烟雾火灾检测识别系统
  3. Onedrive如何申请免费的学生1T空间以及查看剩余空间大小
  4. 【资源分享】一个超级方便的看电子书方法推荐
  5. 什么是Excel的快速编号功能?
  6. nltk中文分句_learn_nltk/2. NLTK笔记-分句与分词.md at master · ourren/learn_nltk · GitHub...
  7. 又一恐怖技能!卡耐基梅隆大学发布超强智能体,炸翻科研圈
  8. win11 安卓子系统(WSA)安装教程
  9. 短信发送接口(短信宝)
  10. android实现忘记密码功能,手机忘记密码如可解决 安卓手机重置密码教程【详解】...