js使用input上传相同文件时没有任何反应

文件上传是网站中最为常见的功能点,通过对文件上传来获取指定数据或丰富网站内容。

那么当使用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>

注意点:

    数据清空是最为常见的需求,因此平常数据处理后需要及时清理数据。

六月初字帖坊小程序 你想要的字帖模板及工具,这里都有!