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

news/2024/7/20 2:40:57 标签: 微信小程序, 小程序

这个我只能比较遗憾的说 小程序中大部分操作文件的API都是异步的
所以这个函数 我们还是要异步返回
其实大家肯定也都喜欢同步的

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
在这里插入图片描述
然后我们运行效果如下
在这里插入图片描述


http://www.niftyadmin.cn/n/5050754.html

相关文章

ORACLE 自增分区

-- 1. 创建一个序列,用于生成唯一的分区键值 CREATE SEQUENCE SALS_SEQ START WITH 1 INCREMENT BY 1 NOCACHE--禁用缓存 NOCYCLE--禁用达到最大值循环回到最小值 -- 2.创建一个分区表 CREATE TABLE SALS_DATA ( SAL_ID NUMBER, SAL_DATE DATE, SAL_AMOUNT NUMBER ) PARTITI…

算法 三数之和-(双指针)

牛客网: BM54 题目: 数组中所有不重复的满足三数之和等于0的数,非递减形式。 思路: 数组不小于3。不重复非递减,需先排序。使用idx从0开始遍历到n-2, 如果出现num[idx]num[idx-1]的情况,忽略继续下一个idx;令left idx1, right …

【已解决】node-gyp 安装报错

省流阅读 遇到问题node-gyp 安装报错,提示要安装vs,并开启Desktop development with C,但总是提示vs版本不对 最终解决方法如下: # 0 分析问题:当前npm版本为v14.16.0,适合python v2.7和VS2017&#xff0…

python设置全局代理

代理的种类: 代理分为http代理和socks代理!!! python在设置代理的时候分两种情况, 第一种是只支持http代理、https代理的,那么就要写如下的代码在文件最前面: import osos.environ["ht…

51单片机自行车码表 速度里程计霍尔测速模拟电机设计

一、系统方案 本设计采用51单片机作为主控器,霍尔测速,数码管显示速度及里程数。 二、硬件设计 原理图如下: 三、单片机软件设计 1、首先是系统初始化 void init() { IT01; //INT0负跳变触发 TMOD0x01;//定时器工作于方式1 TH00x3c; //5…

设计模式——2. 工厂模式

1. 说明 工厂模式(Factory Pattern)是一种创建型设计模式,它提供了一种创建对象的方式,而无需直接暴露对象的创建逻辑。工厂模式将对象的实例化过程封装在一个工厂类中,使客户端代码与具体对象的创建解耦,从而提高了代码的可维护性和灵活性。 工厂模式通常有以下几种变…

【Python】自动完成手写字体图片贴入以及盖章工具

简介 该工具完成了如下功能: 1.将文字转换为手写体填入到模板文件中 2.自动将文字转换为盖章格式填入到模板文件中 3.字体格式可以替换 4.有配置文件进行扩展功能 功能模块 1.界面模块 import sys from PyQt5.QtWidgets import QApplication, QMessageBox, QWid…

Linux内核启动流程-第二阶段start_kernel 函数

一. Linux内核启动 上一篇文章简单介绍了 Linux内核启动的第一阶段,即执行汇编流程。 本文简单了解一下,Linux内核启动的第二阶段:start_kernel函数,这是一个 C 函数。 本文续上一篇文章的学习,地址如下:…