react后台管理系统 IE导入文件的兼容性问题
由于IE浏览器不支持 FileReader,所以在导入文件时做下判断,代码如下

readWorkbookFromLocalFile (files,callback) { const self = this; // const files = e.target.files[0]; const fileReader = new FileReader(); // 如果IE 浏览器 不支持FileReader const staus = FileReader.prototype.readAsBinaryString; staus ? fileReader.readAsBinaryString(files) : fileReader.readAsArrayBuffer(files); fileReader.onload = function(ev) { try { let data = ev.target.result, workbook = XLSX.read(data, {type: staus ? "binary" : "array"}), persons = []; // 存储获取到的数据 if(callback) callback(workbook); // 表格的表格范围,可用于判断表头是否数量是否正确 let fromTo = ""; // 遍历每张表读取 for (let sheet in workbook.Sheets) { if (workbook.Sheets.hasOwnProperty(sheet)) { fromTo = workbook.Sheets[sheet]['!ref']; persons = persons.concat(XLSX.utils.sheet_to_json(workbook.Sheets[sheet])); } } console.log(persons); // self.setState({uploadList:persons},() => self._saveXLSXData()) } catch (e) { self.file.value = ""; console.log("文件类型不正确!"); return; } }; }
君不见,高堂明镜悲白发,朝如青丝暮成雪
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现