input file上传相同文件时触发change事件失效

552 阅读1分钟

解决方法:

在最后不管上传成功还是失败 都在input的change事件里面,将input的val修改为空

HTML

<label for="fileinp">
    <input type="button" id="btn" value="上传赛题"><span id="text">{{filename}}</span>
    <input @change="tirggerFile($event)" name="examination" class="excel_file" type="file" accept=".pdf,.doc,.docx;" id="fileinp">
</label>

JS

// 上传文件:
const tirggerFile = (value) => {
  const file = value.target.files[0] // 获取文件
  if (file) {
    const fileSize = file.size / 1024 / 1024
    filename.value = file.name
    if (fileSize > 100) {
      ElMessage.error('上传文件的大小限制为100M!')
    } else {
      form.value.examination = file
    }
  }
  value.target.value = '' // 解决上传相同文件无效
}