描述: 一个文字input上传后,会存在缓存,导致此文件再次上传后会无法触发change事件
解决这个问题的关键,就是如何清除这个缓存
解法:
function change(e, opt, size) {
const file = e.target.files[0]
// 此处可自由写上传成功第一次的操作...
// 第一次的上传操作执行之后
// 清空当前上传的值,下次可以上传同样的图片
e.target.value = ''
}
解答过程:
翻阅了很多帖子:
解法无非就是
1)找到上传文件的input元素,并清空Input元素的value:
如:
let _input = document.getElementByName('image')
_input.value = ""
没有生效,input对应的value是清空了,但是还是无法触发文件的二次上传事件
2)深拷贝input的nodeList,还是没有生效
最后才翻到我上面的解法的这种解决方案,只用加一行代码,就可以实现我们的需求,还是很方便的。特此记录一下。