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

然后我们运行效果如下

相关推荐
李纲明6 小时前
微信小程序次卡跨店对不上账或前台随手改余次:先核流水只增不改与统一日切,再查冲正权限与总部只读
微信小程序·devdiy·核销流水·跨店次卡·日切对账·冲正权限·总部只读
李纲明9 小时前
微信小程序维修拆机后口头加价或未确认就开工:先核验机快照与报价确认,再查补充报价与取机核验
微信小程序·devdiy·维修验机·报价确认·报价快照·补充报价·取机核验
wx1qq1com10 小时前
一桩带几台车:共享租赁桩位配比、取电与结算闭环设计
物联网·微信小程序·小程序
李纲明11 小时前
微信小程序场地长租月底对不上或口头占场撞场:先核合约预约与核销流水出账,再查附加费与转租归属
微信小程序·devdiy·场地长租·月结账单·核销流水·附加费·转租归属
2401_8796925111 小时前
微信小程序照相与摄像功能实现——chooseImage 与 chooseVideo 详解
微信小程序·小程序·notepad++
律宏阔1 天前
微信小程序 + Taro + TDesign 去掉 [&&&],让普通 Tailwind 类接管局部样式
前端·微信小程序·taro
律宏阔1 天前
微信小程序 + Taro + 多语言实现与国际化检查实录
前端·微信小程序·taro
李纲明2 天前
微信小程序 getSystemInfo 提示已废弃、屏幕高度算错胶囊还对不齐?getWindowInfo 和 getDeviceInfo 怎么接才稳
javascript·微信小程序·小程序·小程序开发·devdiy
dreams_dream2 天前
微信小程序-使用npm包
微信小程序·小程序·npm
L1mbo2 天前
Lite模式 缓解微信开发者工具卡顿,附 uni-app 实践方案
前端·微信小程序