当前位置:首页 > JavaScript

js实现文件读取

2026-04-07 10:10:19JavaScript

使用FileReader API读取文件内容

FileReader是浏览器提供的API,允许异步读取用户计算机上的文件内容。以下是一个基础实现示例:

const fileInput = document.getElementById('fileInput');
fileInput.addEventListener('change', (event) => {
  const file = event.target.files[0];
  const reader = new FileReader();

  reader.onload = (e) => {
    console.log(e.target.result);
  };

  reader.readAsText(file);
});

读取不同类型文件的方法

FileReader提供多种读取方式,根据需求选择合适方法:

  • readAsText():读取为文本
  • readAsDataURL():读取为Base64数据URL
  • readAsArrayBuffer():读取为二进制缓冲区
  • readAsBinaryString():读取为原始二进制字符串

处理大文件的分片读取

对于大文件可采用分块读取策略:

const chunkSize = 1024 * 1024; // 1MB
let offset = 0;

function readChunk(file) {
  const chunk = file.slice(offset, offset + chunkSize);
  const reader = new FileReader();

  reader.onload = (e) => {
    // 处理当前分块数据
    offset += chunkSize;
    if (offset < file.size) {
      readChunk(file);
    }
  };

  reader.readAsArrayBuffer(chunk);
}

Node.js环境下的文件读取

在Node.js中使用fs模块:

const fs = require('fs');

// 同步读取
const data = fs.readFileSync('file.txt', 'utf8');

// 异步读取
fs.readFile('file.txt', 'utf8', (err, data) => {
  if (err) throw err;
  console.log(data);
});

错误处理与进度监控

完善的实现需要包含错误处理和进度反馈:

js实现文件读取

reader.onerror = () => {
  console.error('文件读取错误');
};

reader.onprogress = (event) => {
  if (event.lengthComputable) {
    const percent = (event.loaded / event.total) * 100;
    console.log(`读取进度: ${Math.round(percent)}%`);
  }
};

标签: 文件js
分享给朋友:

相关文章

js实现类

js实现类

JavaScript 实现类的几种方式 JavaScript 是一种基于原型的语言,但在 ES6 之后引入了 class 语法糖,使得实现类更加直观。以下是几种常见的实现方式: 使用构造函数 传统的…

js实现图表

js实现图表

在JavaScript中实现图表通常使用流行的图表库,以下是几种常见的方法和工具: 使用Chart.js Chart.js是一个简单灵活的库,适合快速生成响应式图表。安装方式包括CDN引入或npm安…

js实现vr

js实现vr

使用WebXR API实现VR体验 WebXR是浏览器中实现VR和AR体验的标准API,它取代了早期的WebVR。现代浏览器如Chrome、Edge和Firefox已支持WebXR。 // 初始化W…

js实现二叉树

js实现二叉树

二叉树的基本概念 二叉树是一种树形数据结构,每个节点最多有两个子节点,分别称为左子节点和右子节点。二叉树的常见操作包括插入、删除、遍历等。 二叉树的节点定义 在JavaScript中,二叉树的节点可…

js实现祖玛

js实现祖玛

实现祖玛游戏的核心思路 祖玛游戏的核心玩法是发射彩色珠子,形成三个或以上相同颜色的珠子即可消除。以下是使用JavaScript实现的基本框架。 游戏初始化 创建画布并初始化游戏状态: const…

js实现交换

js实现交换

交换变量的方法 在JavaScript中,交换两个变量的值有多种方法。以下是常见的几种实现方式: 使用临时变量 通过引入一个临时变量来存储其中一个变量的值,实现交换: let a = 1; le…