目录

小程序将图片转换成base64格式

小程序将图片转换成base64格式

一、原生小程序开发:

在小程序开发中想要将图片转换成base64格式那么先通过 wx.chooseMedia() 获取图片

    wx.chooseMedia({
      count: 1,
      mediaType: ["image"],
      sourceType: ["album", "camera"],
      sizeType: ["compressed"],
      camera: "back",
      success(res) {
          let tempFilePath = res.tempFiles[0].tempFilePath;
          ...
      }
    })

在 wx.getFileSystemManager() 这个获取全局唯一的文件管理器接口上有一个 readFile 方法可以将图片转换成base64、ascii、binary等形式。

wx.getFileSystemManager().readFile({
    filePath: minTempFilePath, // 需要上传的文件
    encoding: "base64", // 指定编码为Base64
    success(res) {
        const base64Image = res.data; // 获取Base64编码的图片数据
        ...
    }
})

那么这里的 base64Image 就是转换过的 base64 的格式了

二、uniapp 开发:

因为 uni.chooseMedia() 不支持H5,所以我这里使用 uni.chooseImage() 获取本地图片或者拍照

uni.chooseImage({
    count: 100,
	type: 'image',
	success: (res) => {
		this.imageArr = this.imageArr.concat(res.tempFiles);
		...
	}
});

接下来使用 uni.getFileSystemManager() 获取文件系统管理器,然后也是使用 readFile 方法来进行格式转换

const fs = uni.getFileSystemManager(); // 获取文件系统管理器
fs.readFile({
    filePath: file.path, // 图片路径
    encoding: 'base64', // 指定编码格式为Base64
    success: (res) => {
        // 这里 res 就是转换后的图片路径
        ...
    }
})