微信小程序base64图片与临时路径互相转换

1、base64图片转临时路径

javascript 复制代码
/**
   * 将base64图片转临时路径
   * @param {*} dataurl
   * @param {*} filename
   * @returns
   */
  base64ImgToFile(dataurl, filename = "file") {
    const base64 = dataurl; // base64码
    const time = new Date().getTime();
    const imgPath = wx.env.USER_DATA_PATH + "/poster" + time + "share" + ".png";
    //如果图片字符串不含要清空的前缀,可以不执行下行代码.**假如不清除,真机会报错**
    const imageData = base64.replace(/^data:image\/\w+;base64,/, "");
    const fs = wx.getFileSystemManager();
    fs.writeFileSync(imgPath, imageData, "base64");
    fs.close();
    return imgPath;
  },

2、临时路径转base64

javascript 复制代码
  fileToBase64Img(tempFilePath) {
    wx.getFileSystemManager().readFile({
      // 读取本地文件内容
      filePath: tempFilePath,
      encoding: "base64", //编码格式
      success(res) {
        let base64 = "data:image/png;base64," + res.data;
        return base64;
      },
    });
  },

注意:小程序保存base64出错,Unhandled promise rejection Error: writeFileSync:fail base64 encode error

解决方式,清除data:image/png;base64 前缀

如:base64.replace(/^data:image\/\w+;base64,/, "")

相关推荐
未来之窗软件服务3 小时前
免费酒店管理系统+餐饮系统+小程序点餐——仙盟创梦IDE
小程序·酒店管理系统·仙盟创梦ide
Mr.Liu64 小时前
小程序33-列表渲染
前端·微信小程序·小程序
我叫汪枫19 小时前
解决微信小程序中 Flex 布局下 margin-right 不生效的问题
微信小程序·小程序
G佳伟1 天前
微信小程序带数组参数跳转页面,微信小程序跳转页面带数组参数
微信小程序·小程序
胡斌附体1 天前
uniapp与微信小程序开发平台联调无法打开IDE
微信小程序·小程序·uni-app·联调·联网
程序员阿龙1 天前
基于微信小程序的云校园信息服务平台设计与实现(源码+定制+开发)云端校园服务系统开发 面向师生的校园事务小程序设计与实现 融合微信生态的智慧校园管理系统开发
微信小程序·小程序·小程序开发·云校园平台·校园信息化·学生服务系统
胡斌附体1 天前
小程序使用npm包的方法
前端·小程序·npm·使用方法
说私域1 天前
用户资产化视角下开源AI智能名片链动2+1模式S2B2C商城小程序的应用研究
人工智能·小程序·开源·流量运营
说私域1 天前
基于开源链动2+1模式AI智能名片S2B2C商城小程序的企业组织生态化重构研究
人工智能·小程序·开源·零售
说私域2 天前
定制开发开源AI智能名片S2B2C商城小程序:数字营销时代的话语权重构
人工智能·小程序·开源·零售