前端读取文件当文件选择相同文件名的文件,内容不会变化
前端读取文件当文件选择相同文件名的文件,内容不会变化
今天遇到个奇怪的bug,使用打开文件,并选择文件时,正常情况会读取文件信息。
但是如果先选择相同的文件名,则内容不会发生变化。
先说结论
只要不使用事件中event.target.files[0]
,event
事件即可。
// 前端读取文件当文件选择相同文件名的文件,内容不会变化// 问题描述:当选择相同文件名的文件时,内容不会发生变化。// 解决方案:避免使用 event.target.files[0],直接读取 fileInput.value.files[0]。// 示例代码:const fileInput = document.getElementById("fileInput");fileInput.addEventListener('change', () => {const file = fileInput.files[0];if (file) {const reader = new FileReader();reader.onload = (e) => {const text = e.target.result;store.markdownText = text;};reader.readAsText(file);}
});
原因分析
因为我们是用的方法使用的是change
事件意思为,当文件发生改变的时候才会触发这个事件,于是如果文件是之前的文件那么event
中的内容则不会发生变化。
const handelDocumentImport = () => {fileInput.value.click();fileInput.value.addEventListener('change', (event: any) => {// 不能使用// event.target.files[0];const file = fileInput.value.files[0];if (file) {const reader = new FileReader();reader.onload = (e: any) => {const text = e.target.result;store.markdownText = text;};reader.readAsText(file);}});
};
解决方式
先定义变量用于存储文件input
file中的内容,之后每次文件点击修改时都将内容存储到这个变量中
之后只需要读取这个变量的files
即可
const fileInput = document.getElementById("fileInput");fileInput.value.addEventListener('change', () => {const file = fileInput.value.files[0];if (file) {const reader = new FileReader();reader.onload = (e: any) => {const text = e.target.result;store.markdownText = text;};reader.readAsText(file);
});
相关文章:
前端读取文件当文件选择相同文件名的文件,内容不会变化
前端读取文件当文件选择相同文件名的文件,内容不会变化 今天遇到个奇怪的bug,使用打开文件,并选择文件时,正常情况会读取文件信息。 但是如果先选择相同的文件名,则内容不会发生变化。 先说结论 只要不使用事件中e…...

PHP 服装销售管理系统mysql数据库web结构layUI布局apache计算机软件工程网页wamp
一、源码特点 PHP 服装销售管理系统是一套完善的web设计系统mysql数据库 ,对理解php编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。 php服装销售管理系统1 二、功能介绍 (1)员工管理:对员工信息…...

用于图像处理的高斯滤波器 (LoG) 拉普拉斯
一、说明 欢迎来到拉普拉斯和高斯滤波器的拉普拉斯的故事。LoG是先进行高斯处理,继而进行拉普拉斯算子的图像处理算法。用拉普拉斯具有过零功能,实现边缘岭脊提取。 二、LoG算法简述 在这篇博客中,让我们看看拉普拉斯滤波器和高斯滤波器的拉普…...

【h5 uniapp】 滚动 滚动条,数据跟着变化
uniapp项目 需求: 向下滑动时,数据增加,上方的日历标题日期也跟着变化 向上滑动时,上方的日历标题日期跟着变化 实现思路: 初次加载目前月份的数据 以及下个月的数据 this.getdate()触底加载 下个月份的数据 onReach…...

ModStartBlog v8.5.0 评论开关布局调整,系统后台全面优化
ModStart 是一个基于 Laravel 模块化极速开发框架。模块市场拥有丰富的功能应用,支持后台一键快速安装,让开发者能快的实现业务功能开发。 系统完全开源,基于 Apache 2.0 开源协议。 功能特性 丰富的模块市场,后台一键快速安装 …...

django|报错SQLite 3.8.3 or later is required的解决方案
迁移原同事写的程序,到新服务器上边。运行报错。解决方案有三种 降低django版本升级sqlite3,不低于3.8.3版本修改django源码 方案一、降低django版本 卸载高版本django pip uninstall django安装低版本,如 pip install django2.1.7注意&…...

通达OA get_datas.php前台sql注入-可获取数据库session登入后台漏洞复现 [附POC]
文章目录 通达OA get_datas.php前台sql注入-可获取数据库session登入后台漏洞复现 [附POC]0x01 前言0x02 漏洞描述0x03 影响版本0x04 漏洞环境0x05 漏洞复现1.访问漏洞环境2.构造POC3.复现 0x06 修复建议 通达OA get_datas.php前台sql注入-可获取数据库session登入后台漏洞复现…...

苹果官方:所有国行iPhone 15系列都在中国生产!
近几年来,国内供应链逐渐外迁,而拥有庞大劳动力市场的印度却成为了香饽饽,逐渐获得越来越多企业的重视,就连苹果公司也将其视为发展的重要战略要地。 自从苹果扩大印度生产iPhone规模后,很快流言四起,各种负…...

Oracle 安装及 Spring 使用 Oracle
参考内容: docker安装oracle数据库史上最全步骤(带图文) Mac下oracle数据库客户端 Docker安装Oracle docker能安装oracle吗 Batch script for add a auto-increased primary key for exist table with records Docker 安装 Oracle11g 注意&a…...
element-ui 表格 点击选中
element-ui 表格 点击选中 复制element ui 表格 <template><el-table:data"tableData"style"width: 100%"><el-table-columnprop"date"label"日期"width"180"></el-table-column><el-table-col…...

畅通工程之局部最小花费问题 (C++)
目录 题目: 思路: 代码: 结果 题目: 思路: 详细思路都在代码注释里 。 代码: #include<iostream>//无向图邻接矩阵 #include<map> #include<algorithm> #define mvnum 1005 using …...
Sql 异常 + Error
目录 1、Sql 异常 1、SQL Error 1、 Out of sort memory,consider increasing server sort buffer size 2、MySQL排序规则不同关联报错 3、MySQL ....LIMIT 15 4、MySQL:Data truncation: Invalid JSON text 5、MySQL:Duplicate entry ‘xx‘ for key ‘xxxx…...
基于UNI-APP实现适配器并保证适配器和实现的调用一致
概述 前端功能的实现是基于不同的环境采用不同的实现方式的。一种是企业微信小程序,需要基于企业微信框架实现。一种是移动APP,需要基于uni-app的中底层实现。为了调用方便,需要将两种实现统一在一种适配器中,调用者只需要指定环…...

使用jdk21预览版 --enable-preview
异常 [ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.10.1:compile (default-compile) on project sb3: Compilation failure [ERROR] --enable-preview 一起使用时无效 [ERROR] (仅发行版 21 支持预览语言功能) 解决…...
js中的跳转都有哪些格式
location.href "URL" :用于在当前窗口中加载其他页面。 例如:location.href "https://www.google.com" location.replace("URL"):用于在当前窗口中加载其他页面,但不保留原页面的历史记录&#…...
无重复字符的最长子串
题目 添加链接描述 给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: s "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。 示例 2:输入: s "bbbbb" 输出…...

C语言--输入10个数字,要求输出其中值最大的元素和该数字是第几个数
今天小编带大家了解一下什么是“打擂台”算法。 一.思路分析 可以定义一个数组arr,长度为10,用来存放10个数字,设计一个函数Max,用来求两个数中的较大值, 定义一个临时变量tmparr[0],保存临时最大的值,下标…...
如何做好功能测试,提升测试质量和效率?
要做好功能测试并提升测试质量和效率,可以考虑以下几个方面: 1. 明确测试目标和需求 在开始功能测试之前,首先要明确测试的目标和需求,包括测试的范围、重点、预期结果等。这有助于为测试工作提供清晰的方向和指导。 2. 制定详细…...

高德地图添加信息弹窗,信息弹窗是单独的组件
//弹窗组件 <template><el-card class"box-card" ref"boxCard" v-if"showCard"><div slot"header" class"clearfix"><div class"title">{{ model.pointName }}</div><div class…...
Apache Arrow优点
优点 采用连续的内存布局,在单机计算的时候,对操作系统友好,增加了缓存命中率以及读取数据的效率采用列式存储,在单机计算的时候,可以利用SMID向量化处理,并且增加了查询效率(一般查询的时候只…...

.Net框架,除了EF还有很多很多......
文章目录 1. 引言2. Dapper2.1 概述与设计原理2.2 核心功能与代码示例基本查询多映射查询存储过程调用 2.3 性能优化原理2.4 适用场景 3. NHibernate3.1 概述与架构设计3.2 映射配置示例Fluent映射XML映射 3.3 查询示例HQL查询Criteria APILINQ提供程序 3.4 高级特性3.5 适用场…...

练习(含atoi的模拟实现,自定义类型等练习)
一、结构体大小的计算及位段 (结构体大小计算及位段 详解请看:自定义类型:结构体进阶-CSDN博客) 1.在32位系统环境,编译选项为4字节对齐,那么sizeof(A)和sizeof(B)是多少? #pragma pack(4)st…...
系统设计 --- MongoDB亿级数据查询优化策略
系统设计 --- MongoDB亿级数据查询分表策略 背景Solution --- 分表 背景 使用audit log实现Audi Trail功能 Audit Trail范围: 六个月数据量: 每秒5-7条audi log,共计7千万 – 1亿条数据需要实现全文检索按照时间倒序因为license问题,不能使用ELK只能使用…...

【快手拥抱开源】通过快手团队开源的 KwaiCoder-AutoThink-preview 解锁大语言模型的潜力
引言: 在人工智能快速发展的浪潮中,快手Kwaipilot团队推出的 KwaiCoder-AutoThink-preview 具有里程碑意义——这是首个公开的AutoThink大语言模型(LLM)。该模型代表着该领域的重大突破,通过独特方式融合思考与非思考…...

Cinnamon修改面板小工具图标
Cinnamon开始菜单-CSDN博客 设置模块都是做好的,比GNOME简单得多! 在 applet.js 里增加 const Settings imports.ui.settings;this.settings new Settings.AppletSettings(this, HTYMenusonichy, instance_id); this.settings.bind(menu-icon, menu…...

前端开发面试题总结-JavaScript篇(一)
文章目录 JavaScript高频问答一、作用域与闭包1.什么是闭包(Closure)?闭包有什么应用场景和潜在问题?2.解释 JavaScript 的作用域链(Scope Chain) 二、原型与继承3.原型链是什么?如何实现继承&a…...
06 Deep learning神经网络编程基础 激活函数 --吴恩达
深度学习激活函数详解 一、核心作用 引入非线性:使神经网络可学习复杂模式控制输出范围:如Sigmoid将输出限制在(0,1)梯度传递:影响反向传播的稳定性二、常见类型及数学表达 Sigmoid σ ( x ) = 1 1 +...

零基础在实践中学习网络安全-皮卡丘靶场(第九期-Unsafe Fileupload模块)(yakit方式)
本期内容并不是很难,相信大家会学的很愉快,当然对于有后端基础的朋友来说,本期内容更加容易了解,当然没有基础的也别担心,本期内容会详细解释有关内容 本期用到的软件:yakit(因为经过之前好多期…...

让回归模型不再被异常值“带跑偏“,MSE和Cauchy损失函数在噪声数据环境下的实战对比
在机器学习的回归分析中,损失函数的选择对模型性能具有决定性影响。均方误差(MSE)作为经典的损失函数,在处理干净数据时表现优异,但在面对包含异常值的噪声数据时,其对大误差的二次惩罚机制往往导致模型参数…...
Kafka主题运维全指南:从基础配置到故障处理
#作者:张桐瑞 文章目录 主题日常管理1. 修改主题分区。2. 修改主题级别参数。3. 变更副本数。4. 修改主题限速。5.主题分区迁移。6. 常见主题错误处理常见错误1:主题删除失败。常见错误2:__consumer_offsets占用太多的磁盘。 主题日常管理 …...