uni-app 图片转base64 解决方案

网上多数都是通过微信api将图片url 转换成Base64 格式,但仅限于网络地址的图片,本地路径的图片转换会报错,如下:

真机下会出错报无效的路径(不可用)

request:fail invalid url "wxfile://tmp_7c6025b86ad385c609d0094facbeb1c7ca426dc83b33e628.jpg"

wx.request({
        url: temp,//临时路径
        responseType: 'arraybuffer', //设置返回的数据格式为arraybuffer
        success: res => {
                const base64 = wx.arrayBufferToBase64(res.data)},
    })

其他解决方案 https://www.jianshu.com/p/c7649a278fd0

有效解决方案

使用 uni.getFileSystemManager().readFile

uni.chooseImage({
            count: 1, //默认9
            sizeType: ['compressed'],
            sourceType: ['album'], //从相册选择
            success: (res) => {
            this.src = res.tempFilePaths[0]
            uni.getFileSystemManager().readFile({
                    filePath: this.src,
                    encoding: 'base64',
                    success: r => { // r.data }
                        })
                    }
                })

你可能感兴趣的:(uni-app 图片转base64 解决方案)