微信小程序写一个将图片对象转成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

然后我们运行效果如下

相关推荐
卓怡学长9 小时前
w192基于springboot“考研情报站”微信小程序设计与实现
java·spring boot·spring·微信小程序·intellij-idea
2601_9499506310 小时前
练题簿小程序的 4 个功能,把学习资料变成题库
人工智能·小程序·刷题·练习·小程序推荐
Mingprime13 小时前
短时冲刺,孤军奋战,压力山大
小程序
Mingprime14 小时前
孤军奋战那一次
小程序
盟道科技14 小时前
电商小程序购物车系统设计:缓存与数据库双写一致性实战
数据库·缓存·小程序
卓怡学长14 小时前
w193基于springboot“乐通黄骅”电动车智能充电服务小程序
java·spring boot·spring·小程序·intellij-idea
扶风ff1 天前
新品知识更新太快?用练题簿在线刷题,安排企业培训的小测与复盘
前端·学习·小程序
Ai-_Man1 天前
您您这可以把Microsofat Copilot的多个会话比如说。左侧的多个会话一次性导出吗?不是单条会话里面的多次会对话。AI导出鸭
javascript·人工智能·ai·小程序·电脑·copilot
imperialeast1 天前
创建WAV文件 韩文、德文、俄文等unicode音乐标签
windows·小程序
2601_949950631 天前
错题总是反复错?用练题簿在线刷题,把复习重点找出来
人工智能·小程序·刷题·练习·小程序推荐