uniapp不同平台获取文件内容以及base64编码特征_小程序 uni-file-picker 获取base64


#### APP获取 ArrayBuffer以及读取base64:



const H5PlusReadFileArrayBuffer = (filePath) => {
return new Promise((resolve, reject) => {
try {
plus.io.resolveLocalFileSystemURL(
filePath,
function (entry) {
entry?.file(function (file) {
const fileReader = new plus.io.FileReader()
fileReader.readAsDataURL(file, ‘utf-8’)
fileReader.onloadend = function (evt) {
const result = {
base64: evt.target.result.split(‘,’)[1],
size: file.size,
}
resolve(uni.base64ToArrayBuffer(result.base64))
}
})
},
function (error) {
reject(error)
},
)
} catch (error) {
reject(error)
}
})
}


app方面是直接先读取base64,再读取arrayBuffer,所以一气呵成。


#### 综合:



import SparkMD5 from ‘spark-md5’;
export interface FileReaderInfo {
fileHeader64:string;//–base64形式的文件前一段内容,用于传递magicNumber进行判断。
base64:string;
arrayBuffer:any;
tempPath:string;//形式如下:blob:http://localhost:3000/5fd140d3-1372-4394-8b08-0cba8c508099
mime:string;
errMsg?:string;
md5:string,//–获取文件md5.
}

// #ifdef H5
// 通过blob:url读取实际的blob数据
function h5_blobURLToBlob (url:string) :Promise {
return new Promise((resolve, reject) => {
var http = new XMLHttpRequest();
http.open(‘GET’, url, true)
http.responseType = ‘blob’;
http.onload = function (e) {
if (this.status == 200 || this.status === 0) {
resolve(this.response)
} else {
reject(this.status)
}
};
http.send()
})
}

  • 14
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值