当前位置: 首页 > article >正文

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

http://www.kler.cn/a/452539.html

相关文章:

  • 基于OpenCV和Python的人脸识别系统_django
  • uniapp登录
  • kubernetes Gateway API-部署和基础配置
  • NPM老是无法install,timeout?npm install失败
  • 赛博错题本
  • Go singleflight库源码分析
  • 【Rust自学】6.3. 控制流运算符-match
  • 【免费分享】mysql笔记,涵盖查询、缓存、存储过程、索引,优化。
  • 代码随想录day25 | leetcode 491.递增子序列 46.全排列 回溯总结
  • Grok 2.0:马斯克的大模型挑战ChatGPT,AI竞争再升级
  • 【玩转MacBook】Maven安装
  • 大数据之 HDFS:特性与架构
  • Lua语言入门 - Lua 面向对象
  • Excel粘贴复制不完整的原因以及解决方法
  • 在git commit之前让其自动执行一次git pull命令
  • [python SQLAlchemy数据库操作入门]-05.插入数据:记录单笔股票交易信息
  • 【学习总结|DAY023】Java高级技术
  • SpringBoot统计接口请求耗时
  • Docker 部署 plumelog 最新版本 实现日志采集
  • 【前端必读】如何免费无限使用Cursor:AI编程工具的终极指南!
  • Merry Christmas HTML
  • Redis——缓存击穿
  • NetLimiter使用教程,并掌握其基本的网络管理和流量控制能力
  • 聊一聊 C#线程池 的线程动态注入 (下)
  • Flutter项目兼容鸿蒙Next系统
  • 外包干了27天,技术退步明显。。。。。