You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JavaScript FileReader处理10MB+文件卡顿问题排查求助

问题描述

本地浏览器打开简易HTML页面,通过表单选择文件读取。小文件读取正常,但在Windows 11 x64(32GB内存)的主流浏览器中,处理10MB以上文件时会卡顿数分钟才触发load事件;该问题在MacBook的macOS系统及Parallels运行的Windows 11 ARM环境中不存在。

相关代码

HTML部分

<input type="file" id="inputFile">

JavaScript部分

let file = document.getElementById("inputFile").files[0]

let reader = new FileReader();
reader.readAsText(file);

reader.addEventListener('load', (e) => {
    const data = e.target.result;
    console.log(data.length)
})
可能原因分析
  • 文件格式解析开销差异:Windows系统默认换行符为\r\n,macOS为\n,大文件中大量Windows格式换行会让浏览器额外处理换行转换,拖慢readAsText的解析速度。
  • 浏览器跨平台实现差异:主流浏览器在Windows x64平台的文件读取逻辑未针对大文本文件做优化,比如未采用分段异步处理,导致主线程被长时间阻塞。
  • 系统安全扫描干扰:Windows 11 x64的实时杀毒软件(如Windows Defender)会对读取的大文件进行内容扫描,占用大量CPU和IO资源,直接延迟了浏览器的文件读取进程。
  • 内存管理机制差异:Windows与macOS的内存分配、垃圾回收逻辑不同,Windows x64下浏览器读取大文本时,内存处理效率偏低,导致FileReader处理数据的速度变慢。

内容的提问来源于stack exchange,提问作者Val

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 21:53:11