js使用input上传相同文件时没有任何反应
JavaScipt
2024-05-20 22:13:22
文件上传是网站中最为常见的功能点,通过对文件上传来获取指定数据或丰富网站内容。
那么当使用input上传文件时,多次上传同一个文件时文件点击无效是怎么回事呢?
原因分析:
这是因为在调用函数onchange。如果上传相同的文件,文件输入的值与上一次上传相比没有改变,因此不会被触发。
这也解释了为什么如果您上传不同的文件它会起作用。可以通过在读取文件后重置输入字段的值来解决此问题。
<input id="fileInput" type="file" onChange="excelChange(this)">
<script>
function excelChange(e){
var files = e.files
console.log("files",files)
if(!files || files.length<=0){
return false;
}
console.log(files)
var fileReader = new FileReader();
fileReader.onload = function(ev) {
};
// 以二进制方式打开文件
fileReader.readAsBinaryString(files[0]);
$("#fileInput")[0].value = '';
}
</script>
注意点:
数据清空是最为常见的需求,因此平常数据处理后需要及时清理数据。
六月初字帖坊小程序
你想要的字帖模板及工具,这里都有!
881篇文章
998人已阅读