input二次导入相同文件不生效

779 阅读1分钟

记录日常bug问题

使用input[type=file] 实现文件上传功能,通过onchange事件触发js代码,这个时候第一次上传是完全没问题的,第二次上传文件时,如果是不同于上一次上传文件的话是可以正常上传的,不过如果选择的还是上一个文件,也就是两次上传的文件重复了,那么就会上传失败。

原因

input通过onchange事件来触发js代码的,由于两次文件是重复的,所以这个时候onchange事件是没有触发到的。 文件重复是文件名重复,改变文件里的值还是不会触发事件

解决方案

读取文件后,记得把input的value重新设置为空即e.target.value=''