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

vue大文件读取部分内容,避免重复加载大文件,造成流量浪费

使用场景:项目点云地图是pcd文件,但是文件可能上百兆,我需要获取到文件中的版本信息,跟本地的缓存文件做比较,如果不一致,才会加载整个文件。从而节省流量。

避免重复加载整个“.pcd'文件,以最大限度地减少网络流量。实现这一点的一种方法是只获取”.pcd'文件部分内容,该文件通常包含包括版本信息的元数据。

// 导入必要的模块
import axios from 'axios';// 定义.pcd文件的路径
const filePath = 'path/to/your/file.pcd';// 只获取.pcd文件的头文件
axios.get(filePath, { responseType: 'text', headers: { Range: 'bytes=0-2047' } }).then(response => {// Extract version information from the headerconst headerLines = response.data.split('\n');let version = null;headerLines.forEach(line => {if (line.startsWith('VERSION')) {version = line.split(' ')[1];}});if (version) {console.log('PCD Version:', version);} else {console.error('Version information not found in the header.');}}).catch(error => {console.error('Error fetching header:', error);});

使用Axios发出一个HTTP GET请求来获取.pcd文件的前2048字节,该文件通常包含头文件。然后解析报头以提取版本信息。这种方法通过只获取文件的一小部分来帮助减少网络流量。但是,请注意,头的具体大小可能因.pcd文件格式而异,可能需要相应地调整字节范围。

感受下应用前后读取文件的大小差异。

http://www.lryc.cn/news/304320.html

相关文章:

  • 5G网络RedCap
  • vue+springboot登录与注册功能的实现
  • 数据结构D3作业
  • Spring框架@Autowired注解进行字段时,使用父类类型接收子类变量,可以注入成功吗?(@Autowired源码跟踪)
  • 【springblade】springblade(bladeX) 数据权限失效原因分析
  • 单例模式的几种实现方式
  • 鸿蒙OS运行报错 ‘ToDoListItem({ item })‘ does not meet UI component syntax.
  • React18源码: reconciler执行流程
  • mapbox面图层标注
  • MySQL|MySQL基础(求知讲堂-学习笔记【详】)
  • 10.docker exec -it /bin/bash报错解决、sh与bash区别
  • 查询数据库的编码集Oracle,MySQL
  • 电商数据采集+跨境电商|API电商数据采集接口洞悉数字新零售发展
  • linux之用户和用户组
  • 人工智能深度学习
  • python reshape 和 transpose的区别
  • 音视频技术-网络视频会议“回声”的消除
  • 有哪些令人惊讶的心理学效应
  • 二叉树基础知识总结
  • IDEA2023.3.4开启SpringBoot项目的热部署【简单明了4步操作】
  • QT中调用python
  • Sora基础知识学习
  • 开源博客项目Blog .NET Core源码学习(9:Autofac使用浅析)
  • Go语言中的TLS加密:深入crypto/tls库的实战指南
  • 网络原理-TCP/IP(7)
  • HarmonyOS4.0系列——08、整合UI常用组件
  • 【Spring Boot 3】【JPA】一对多单向关联
  • 工信部等九部门:打造一批实现制造过程数字孪生的数字化转型标杆工厂
  • 并发编程(2)基础篇-管程
  • OpenAI文生视频大模型Sora概述