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 }
                        })
                    }
                })
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。