如何读取本地文本文件?

如何读取本地文本文件?

我试图通过创建一个函数来编写一个简单的文本文件读取器,该函数接受文件的路径,并将每一行文本转换为char数组,但它不起作用。

function readTextFile() {
  var rawFile = new XMLHttpRequest();
  rawFile.open("GET", "testing.txt", true);
  rawFile.onreadystatechange = function() {
    if (rawFile.readyState === 4) {
      var allText = rawFile.responseText;
      document.getElementById("textSection").innerHTML = allText;
    }
  }
  rawFile.send();}

这里出什么问题了?

在将代码从前一次修订现在它给了我一个XMLHttpRequest例外101.

我已经在Firefox上测试过这一点,它可以工作,但是在GoogleChrome中,它不能工作,而且它一直给我一个例外101。我怎样才能让它不仅在Firefox上工作,而且在其他浏览器(特别是Chrome)上也能工作呢?


神不在的星期二
浏览 986回答 4
4回答

holdtom

您需要检查状态0(就像在本地用XMLHttpRequest,您不会得到返回状态,因为它不是从Webserver)function readTextFile(file){     var rawFile = new XMLHttpRequest();     rawFile.open("GET", file, false);     rawFile.onreadystatechange = function ()     {         if(rawFile.readyState === 4)         {             if(rawFile.status === 200 || rawFile.status == 0)             {                 var allText = rawFile.responseText;                 alert(allText);             }         }     }     rawFile.send(null);}并指定file://在你的文件名中:readTextFile("file:///C:/your/path/to/file.txt");

慕的地6264312

走这一段readAsText试试看这个例子。您将能够知道readAsText功能文件阅读器起作用了。    <html>     <head>     <script>       var openFile = function(event) {         var input = event.target;         var reader = new FileReader();         reader.onload = function(){           var text = reader.result;           var node = document.getElementById('output');           node.innerText = text;           console.log(reader.result.substring(0, 200));         };         reader.readAsText(input.files[0]);       };     </script>     </head>     <body>     <input type='file' accept='text/plain' onchange='openFile(event)'><br>     <div id='output'>     ...    </div>     </body>     </html>

忽然笑

在引进后取API在javascript中,读取文件内容非常简单。读取文本文件fetch('file.txt')   .then(response => response.text())   .then(text => console.log(text))   // outputs the content of the text file读取json文件fetch('file.json')   .then(response => response.json())   .then(jsonResponse => console.log(jsonResponse))         // outputs a javascript object from the parsed json

心有法竹

var input = document.getElementById("myFile");var output = document.getElementById("output");input.addEventListener("change", function () {&nbsp; if (this.files && this.files[0]) {&nbsp; &nbsp; var myFile = this.files[0];&nbsp; &nbsp; var reader = new FileReader();&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; reader.addEventListener('load', function (e) {&nbsp; &nbsp; &nbsp; output.textContent = e.target.result;&nbsp; &nbsp; });&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; reader.readAsBinaryString(myFile);&nbsp; }&nbsp; &nbsp;});<input type="file" id="myFile"><hr><textarea style="width:500px;height: 400px" id="output"></textarea>
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript