当前位置:首页 > 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提供多种读取方式,根据需求选择合适方法:

js实现文件读取

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

处理大文件的分片读取

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

js实现文件读取

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);
});

错误处理与进度监控

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

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

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

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

相关文章

vue实现文件下载

vue实现文件下载

使用 Blob 对象和 URL.createObjectURL 通过创建 Blob 对象生成文件内容,利用 URL.createObjectURL 生成临时链接,再通过动态创建 <a> 标…

vue文件下载后端实现

vue文件下载后端实现

Vue 文件下载后端实现 在 Vue 项目中实现文件下载功能通常需要前后端配合。后端主要负责生成文件并提供下载接口,前端通过调用接口触发下载。以下是常见的后端实现方法(以 Node.js/Expres…

php 实现文件下载

php 实现文件下载

实现文件下载的基本方法 使用 PHP 实现文件下载的核心是通过设置 HTTP 头部信息,强制浏览器将文件作为附件下载而非直接显示。以下是一个基础实现示例: $file_path = '/path/t…

js实现pdf在线预览

js实现pdf在线预览

使用PDF.js实现PDF在线预览 PDF.js是由Mozilla开发的一个开源JavaScript库,可以在网页中直接渲染PDF文件。以下是实现PDF在线预览的步骤: 引入PDF.js库 在HT…

js类实现

js类实现

使用类实现 JavaScript 功能 在 JavaScript 中,类(Class)是一种语法糖,基于原型继承机制。通过 class 关键字可以更直观地定义对象模板。 基本类定义 class…

如何运行java文件

如何运行java文件

运行Java文件的方法 确保已安装Java Development Kit (JDK),可通过命令行输入java -version和javac -version验证安装。 编写Java代码并保存为.…