一、原生小程序开发:
在小程序开发中想要将图片转换成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", // 指定编码为Base64success(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', // 指定编码格式为Base64success: (res) => {// 这里 res 就是转换后的图片路径...}
})