uni-app图片转base64编码(小程序和app端)

uni-app图片转base64编码(小程序和app端)

适用于转换拍照后或选择文件后返回的相对路径图片进行转码

网络路径没有尝试过,有人试过可以评论下结果

app端:

//app端
plus.io.resolveLocalFileSystemURL(path, function(entry) {
    //参数path:图片相对路径
    entry.file(function(file) {
        var fileReader = new plus.io.FileReader()
        fileReader.readAsDataURL(file)
        fileReader.onloadend = function(evt) {
            let base64 = evt.target.result.split(",")[1]
            console.log('获取到base64')
        }
    })
})

小程序端:

//小程序端
uni.getFileSystemManager().readFile({
    filePath: path, //参数path:图片相对路径
    encoding: 'base64', 
    success: res => {
        let base64 = res.data
    },
    fail: err => {
        console.log(err)
    }
})
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
uni-app中,可以使用uni.base64ToArrayBuffer()方法将base64字符串换为ArrayBuffer类型的数据,也可以使用uni.arrayBufferToBase64()方法将ArrayBuffer类型的数据换为base64字符串。具体使用方法如下: 1. 将base64字符串换为ArrayBuffer类型的数据: ```javascript let base64Str = 'SGVsbG8gV29ybGQh'; let arrayBuffer = uni.base64ToArrayBuffer(base64Str); console.log(arrayBuffer); ``` 2. 将ArrayBuffer类型的数据换为base64字符串: ```javascript let arrayBuffer = new Uint8Array([72, 101, 108, 108, 111, 33]).buffer; let base64Str = uni.arrayBufferToBase64(arrayBuffer); console.log(base64Str); ``` 需要注意的是,uni.base64ToArrayBuffer()方法在某些情况下可能会出现中文乱码的问题。此时可以使用js-base64库中的方法进行换,具体使用方法如下: 1. 安装js-base64库: ``` npm install js-base64 --save ``` 2. 将base64字符串换为ArrayBuffer类型的数据: ```javascript import { Base64 } from 'js-base64'; let base64Str = '5L2g5aW977yM5LiW55WM'; let str = Base64.decode(base64Str); let arrayBuffer = new Uint8Array(str.length); for (let i = 0; i < str.length; i++) { arrayBuffer[i] = str.charCodeAt(i); } console.log(arrayBuffer); ``` 3. 将ArrayBuffer类型的数据换为base64字符串: ```javascript import { Base64 } from 'js-base64'; let arrayBuffer = new Uint8Array([228, 184, 173, 229, 155, 189, 231, 154, 132]).buffer; let str = ''; let byteArray = new Uint8Array(arrayBuffer); for (let i = 0; i < byteArray.byteLength; i++) { str += String.fromCharCode(byteArray[i]); } let base64Str = Base64.encode(str); console.log(base64Str); ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值