vue中使用input[type=file]文件上传成功之后再不能在上传刚刚上传的文件

vue中使用input[type=file]不能上传重复的文件

问题:上传文件时,第二次上传文件选择跟上次一样的文件时,不会触发onchange事件。

解决办法:onchange监听的是input中的value值,只有在其中的内容发生改变的时候才触发事件,而value在上传文件的时候保存的是文件的内容,你只需要在上传成功的回调里面,将当前input的value值置空即可。这在一般的直接的文件上传中可以生效,但是在间接上传时不会生效。因为间接上传时获取不到onchange事件中的值,所以调用不到里面的值,在使用vue的框架时,我们可以把这个变量赋值给设置的值。如:

//选择文件的触发事件
onChangeFile(e) {
      this.changeFile = e //这里的e就是事件触发获取到的所有的值
    },

//在文件上传成功之后再将值赋为空
this.changeFile.target.value = ""

因为vue变量的特性,经过这样的间接赋值就可以操作到事件中的值从而达到清空文件内容的值,就可以上传重复的文件了。
同理原生的input文件上传方法只要在数据处理完之后再将event.target.value=''将它置空就好了。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值