自学内容网 自学内容网

uniapp——APP读取bin文件,解析文件的数据内容(二)

读取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"
}

原文地址:https://blog.csdn.net/Smile_ping/article/details/143478337

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!