美文网首页
input file 同名文件上传无法监测

input file 同名文件上传无法监测

作者: 钱英俊真英俊 | 来源:发表于2019-01-29 16:41 被阅读0次

<input type="file">可创建一个FileUpload 对象,可以通过监测input的change事件获取到FileUpload的属性,并且通过read方法读取到文件内容

  • 然鹅在实际中,上传可能有是多次操作,上传到是同名文件的话并不会触发inputchange 事件。尝试用click事件,大几率获取不到input的值。只能使用change 事件
  • 解决方法: 在每次上传成功之后,把inputvalue 重置
  • 解析: inputchange事件就是通过监测value的变化进行触发的,所以不只是file,任何typeinputvalue都可以通过重置,在下次依然触发change事件
  • vue项目代码片段
// 选择文件
 chooseFile (row, e) {
      this.loading = true
      var reader = new FileReader()
      let _this = this
      if (e.target.files && e.target.files[0]) {
        reader.readAsText(e.target.files[0]) // 获取文件
        reader.onloadend = async function (ev) {
          row.contractText = reader.result // 获取内容
          await _this.upload(row)
          e.target.value = null
        }
      }
    },
 // 保存到后端
    async upload (row) {
      let res = await Lib.editProtocol(row)
      if (res.code === '00') {
        this.loading = false
        this.$message.success('协议上传成功')
      }
    }

相关文章

网友评论

      本文标题:input file 同名文件上传无法监测

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