微信小程序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,/, "")

相关推荐
好赞科技10 小时前
2026年最佳健身小程序推荐榜单,帮你解锁智能运动新体验
大数据·微信小程序
azhou的代码园10 小时前
基于SpringBoot+Vue的家教小程序
vue.js·spring boot·小程序·毕业设计·家教小程序
Hello--_--World10 小时前
小程序面试题
小程序
AI行业应用研究10 小时前
会务小程序开发成本高?不如看看这个低代码解决方案
大数据·低代码·小程序
好赞科技11 小时前
026年五大汽车保养预约小程序推荐榜单,让养车更轻松省心
大数据·微信小程序
azhou的代码园13 小时前
基于微信小程序的图片识别科普系统的设计与实现
vue.js·spring boot·微信小程序·小程序·毕业设计·科普·图片识别
木风未来14 小时前
四川 UI 与数字视觉设计机构排名:政企定制服务实力榜单
ui·小程序·可视化大屏
焦糖玛奇朵婷16 小时前
终于搞清楚了,扭蛋机小程序这么厉害❗
java·服务器·前端·程序人生·小程序
求学中--17 小时前
状态管理一文通:@State、@Prop、@Link、@Provide/Consume全解析
人工智能·小程序·uni-app·wpf·harmonyos
求学中--17 小时前
ArkUI组件库完全指南:从基础组件到自定义装饰器
低代码·华为·小程序·uni-app·harmonyos