微信小程序写一个将图片对象转成base64字符串的函数

这个我只能比较遗憾的说 小程序中大部分操作文件的API都是异步的

所以这个函数 我们还是要异步返回

其实大家肯定也都喜欢同步的

javascript 复制代码
imageToBase64(image) {
  return new Promise((resolve, reject) => {
    const filePath = image.path;

    // 获取图片文件大小
    wx.getFileInfo({
      filePath: filePath,
      success: function (fileInfo) {
        const fileSize = fileInfo.size;

        // 读取图片文件内容
        wx.getFileSystemManager().readFile({
          filePath: filePath,
          encoding: 'base64',
          success: function (res) {
            const base64Data = `data:${image.type};base64,${res.data}`;

            resolve(base64Data);
          },
          fail: function (err) {
            reject(err);
          }
        });
      },
      fail: function (err) {
        reject(err);
      }
    });
  });
}

这个函数 接受一个图片对象 然后将其转成Base64字符串 通过Promise异步回到传回返回值

然后的话 我们可以用then 或者 async/await的形式来调用他 这里我还是喜欢then

然后我们运行效果如下

相关推荐
前端极客探险家8 小时前
微信小程序全解析:从入门到实战
微信小程序·小程序
h_65432108 小时前
微信小程序van-dialog确认验证失败时阻止对话框的关闭
微信小程序·小程序
-曾牛9 小时前
基于微信小程序的在线聊天功能实现:WebSocket通信实战
前端·后端·websocket·网络协议·微信小程序·小程序·notepad++
说私域9 小时前
基于开源AI智能名片链动2+1模式S2B2C商城小程序的“互相拆台”式宣传策略研究
人工智能·小程序·开源·零售
少恭写代码12 小时前
在Taro中开发一个跨端Svg组件,同时支持小程序、H5、React Native
react native·小程序·taro
少恭写代码16 小时前
duxapp 2025-01-13 更新 支持小程序配置文件
小程序
CN自由之翼16 小时前
【微信小程序】webp资源上传失败
微信小程序·小程序
说私域18 小时前
场景新零售:基于开源AI大模型AI智能名片S2B2C商城小程序源码的商业本质回归与创新
人工智能·小程序·开源·零售
小新11020 小时前
微信小程序学习之搜索框
学习·微信小程序·小程序
小新11020 小时前
微信小程序之将轮播图设计为组件
微信小程序·小程序