547 Stimmen

Wie kann man eine lokale Textdatei im Browser lesen?

Ich versuche, einen einfachen Text-Datei-Leser zu implementieren, indem Sie eine Funktion erstellen, die in den Pfad der Datei nimmt und konvertiert jede Zeile Text in ein Char-Array, aber es funktioniert nicht.

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();
}

Was läuft hier schief?

Dies scheint immer noch nicht zu funktionieren, nachdem ich den Code ein wenig von einer vorherige Revision und jetzt bekomme ich eine XMLHttpRequest Ausnahme 101.

Ich habe dies mit Firefox getestet und es funktioniert, aber in Google Chrome funktioniert es einfach nicht und ich erhalte immer eine Exception 101. Wie kann ich dies nicht nur in Firefox, sondern auch in anderen Browsern (insbesondere Chrome) zum Laufen bringen?

0voto

Sie können meine Bibliothek importieren:

<script src="https://www.editeyusercontent.com/preview/1c_hhRGD3bhwOtWwfBD8QofW9rD3T1kbe/code.js?pe=yikuansun2015@gmail.com"></script>

dann wird die Funktion fetchfile(path) wird die hochgeladene Datei zurückgeben

<script src="https://www.editeyusercontent.com/preview/1c_hhRGD3bhwOtWwfBD8QofW9rD3T1kbe/code.js"></script>
<script>console.log(fetchfile("file.txt"))</script>

Bitte beachten Sie: Bei Google Chrome erscheinen Fehler, wenn der HTML-Code lokal ist, aber es funktioniert, wenn Sie den HTML-Code und die Dateien online speichern und dann die Online-HTML-Datei ausführen.

0voto

Ali Ezzat Odeh Punkte 2023

Um eine lokale Datei zu lesen, muss der Text über JavaScript Wenn Sie Chrome verwenden, sollte der Chrome-Browser mit dem Argument --allow-file-access-from-files um JavaScript den Zugriff auf eine lokale Datei zu ermöglichen, können Sie sie mit XmlHttpRequest wie die folgenden:

var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function () {
   if (xmlhttp.readyState == 4) {
       var allText = xmlhttp.responseText;          
            }
        };
xmlhttp.open("GET", file, false);
xmlhttp.send(null);

-1voto

Aljohn Yamaro Punkte 2301

Ich weiß, ich komme zu spät zu dieser Party. Ich werde Ihnen zeigen, was ich habe.

Dies ist eine einfaches Lesen einer Textdatei

var path = "C:\\path\\filename.txt"
var fs = require('fs')
fs.readFile(path , 'utf8', function(err, data) {
  if (err) throw err;
  console.log('OK: ' + filename);
  console.log(data)
});

Ich hoffe, das hilft.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X