1***@qq.com
1***@qq.com
  • 发布:2022-03-17 09:47
  • 更新:2022-03-17 09:47
  • 阅读:1212

uniapp安卓端获取本地文件base64转化成字节数组

分类:uni-app

通过文件选择插件获取本地文件路径 文件选择插件

//this.pathArr[0].url 为文件路径  
void plus.io.resolveLocalFileSystemURL(this.pathArr[0].url, (FileEntry) => {  
                    FileEntry.file((file) => {  
                        var fileReader = new plus.io.FileReader();  

                        fileReader.readAsDataURL(file);  
                        fileReader.onloadend = function(evt) {  
                                                //evt.target.result 为 base64数据  
                            _this.base64Toutf8(evt.target.result)  
                        }  
                    })  

                });  
            },
//根据base64转字节数组  
            base64Toutf8(base64) {  
                               //去除base64文件头  
                base64 = base64.replace(/^data:+.+;base64,/, "");  
                var strArr = [];  
                var n = 256;  
                var l = base64.length;  
                console.log(base64)  
                console.log(l)  
                for (let i = 0; i < l / n; i++) {  
                    let a = base64.slice(n * i, n * (i + 1))  
                    strArr.push(a)  
                }  
                let byteArr = []  
                let byteArr2=[]  
                let Base64 = plus.android.importClass("java.util.Base64");  
                let decoder = Base64.getDecoder();  
                for (let k = 0; k < strArr.length; k++) {  
                    let bytes = decoder.decode(strArr[k]);  
                    if (bytes !== null) {  
                        for (let j = 0; j < bytes.length; j++) {  
                            bytes[j] = bytes[j] & 0xFF  
                        }  
                        byteArr.push(...bytes)  
                    } else {  
                        console.log(strArr[k])  
                    }  
                }  

            },
1 关注 分享
2***@qq.com

要回复文章请先登录注册