uniapp——APP读取bin文件,解析文件的数据内容(二)
文章目录
- 读取bin文件内容,发送给蓝牙设备;
- 上传文件返回数据格式
- 通过URL路径获取文件对象,读取文件的数据内容
- file对象返回数据格式
读取bin文件内容,发送给蓝牙设备;
上传文件,根据返回路径,解析文件内容;发送给蓝牙设备;
上传文件返回数据格式
{
"data": [
{
"size": 98036,
"type": "application/macbinary",
"tempFilePath": "_doc/uniapp_temp/1.0.44.bin",
"name": "1.0.44.bin",
"fileType": "file"
}
],
"type": "choose"
}
通过URL路径获取文件对象,读取文件的数据内容
- 例读取文件路径:
_doc/uniapp_temp/B1.1.2.bin
/**
* @description 根据文件路径,读取文件数据内容
* @param {String} filePath 文件路径
* @returns {Object}
*/
const getFileSystemByArrayBuffer = (filePath) => {
return new Promise((resolve, reject) => {
plus.io.resolveLocalFileSystemURL(filePath, (entry) => {
// 可通过entry对象操作文件
entry.file((file) => {
// 创建读取文件对象 创建读取文件对象
const fileReader = new plus.io.FileReader();
// 以URL编码格式读取文件数据内容 读取文件的数据内容,并将数据内容进行URL编码
fileReader.readAsDataURL(file);
fileReader.onload = (evt) => {
let strs = evt.target.result;
// 将 Base64 字符串转成 ArrayBuffer 对象
let arrayBuffer = uni.base64ToArrayBuffer(strs);
// 根据个人所需,处理业务逻辑,这里返回 ArrayBuffer
resolve({
arrayBuffer
});
}
fileReader.onerror = (err) => {
console.log('文件读取失败');
reject(err);
}
})
})
})
}
file对象返回数据格式
{
"size": 98036,
"type": "application/macbinary",
"name": "1.0.44.bin",
"lastModifiedDate": "2024-12-25T09:53:29.089Z",
"fullPath": "/var/mobile/Containers/Data/Application/2361ED5xxxxx/Documents/Pandora/apps/HBuilder/doc/uniapp_temp/1.0.44.bin"
}