HTML input type=file 在onchange上传文件的过程中,遇到同一个文件二次上传无效的问题。
最近在做项目过程中,遇到同一文件上传的时候,二次上传没有效果,找了资料,找到了原因:
现解释如下:
input[type=file]使用的是onchange去做,onchange监听的为input的value值,只有再内容发生改变的时候去触发,而value在上传文件的时候保存的是文件的内容,你只需要在上传成功的回调里面,将当前input的value值置空即可:
event.target.value='';
使用第二种方法:
有些IE浏览器貌似不行,好像使用file.outerHTML = file.outerHTML
,我自己没测试。不过我觉得比较麻烦,还要判断浏览器什么的。像Ajax单图上传也可以直接form.reset()
就可以了。