HTML / Javascript多次读取单个文件[重复]

问题描述 投票:1回答:1

这个问题在这里已有答案:

我试图理解Javascript中的文件I / O,这让我很困惑。我有一个文件输入,从磁盘加载文件然后我使用读取器抓取内容。但是当我重复这个过程时,文件将不会再次读取或第三次读取。这是代码:

<html>

<head>
</head>

<body>
  <input type="file" id="myFile">

  <script type="text/javascript">
    window.onload = function() {

      var input = document.getElementById("myFile");

      var output = document.getElementById("output");

      input.addEventListener("change", function() {

        if (this.files && this.files[0]) {

          var myFile = this.files[0];

          var reader = new FileReader();

          reader.addEventListener('load', function(e) {
            console.log(e.target.result);
          });

          reader.readAsText(myFile);

        }
      });
    }
  </script>
</body>


</html>

当我第一次读取文件时,console.log会打印e.target.result。当我第二次尝试读取文件时,它将无法打印。即使我改变了文件的内容。但它会打印一个我加载到它的新文件。是否可以加载两次相同的文件?

javascript html input filereader
1个回答
3
投票

如果您选择相同的文件,则不会为输入触发更改事件。 (比较是在我选择的文件名上,没有像大小或任何“聪明”的东西)

您可以尝试在文件浏览器打开之前清除选择,因此即使选择相同的文件也会产生“新”选择

© www.soinside.com 2019 - 2024. All rights reserved.