美文网首页
el-upload 在IE10下不能重复上传的问题

el-upload 在IE10下不能重复上传的问题

作者: 睡不好觉的梨 | 来源:发表于2020-06-28 20:48 被阅读0次

    问题描述:使用el-upload 在IE10浏览器下删除文件,再上传同一份文件,无法显示,甚至无法触发onchange事件。

    原因:

    使用el-upload 组件选择上传文件后,

    this.$refs.upload.$el.getElementsByTagName("input")[0].value 是文件的路径,会看到文件名。

    chorme里的表现是每次onChange,或onRemove 这个属性都会是当前操作文件的路径信息,但是Chrome不会因为当前上传文件的路径信息和前一个一致就不触发onChange事件,但是IE10 会。

    解决:

    需要每次上传之前手动清空value值(多个文件同时上传时清空前一个value值不会影响最后要上传的整体的this.$refs.upload.fileList)。

    而且IE还不能直接令value=null,只能建立父元素form元素,利用form元素的reset() 重置,再插回原来的位置。附上代码:

          let isIE10 = false;

          if (window.navigator.userAgent.indexOf("MSIE") >= 1) {  // 判断ie10以及以下

            isIE10 = true;

          } 

          let ele = this.$refs.upload.$el.getElementsByTagName("input")[0];

          if (isIE10) {

            let form = document.createElement("form");

            let beforInput = ele.nextSibling;

            let parentInput = ele.parentNode;

            form.appendChild(ele);

            form.reset();

            parentInput.insertBefore(ele, beforInput);

          } else {

            ele.value = null;

          }

    参考大佬博客: https://blog.csdn.net/li_yunsong/article/details/104015953

    相关文章

      网友评论

          本文标题:el-upload 在IE10下不能重复上传的问题

          本文链接:https://www.haomeiwen.com/subject/quhgfktx.html