Lesen einer text-Datei mithilfe von Javascript

Sollte der folgende code liest den Inhalt einer text-Datei im aktuellen Verzeichnis nach dem laden, und zeigt Sie auf der html-Seite. Ich habe versucht, das ändern von meinem selbst. Aber es gibt nicht eine Ausgabe. Gibt es ein einfacher Weg, um dieses Ergebnis mit einer anderen Methode? oder bitte helfen, herauszufinden, was ist falsch an diesem code?

<html>
        <head>
            <meta http-equiv='Content-type' content='text/html;charset=UTF-8' >
            <script>
    function startRead()
    {
      //obtain input element through DOM 

    var file = document.getElementById("\\file.txt").files[0]

      if(file)
        {
        getAsText(file);
      }
    }

    function getAsText(readFile)
    {
        var reader;
        try
        {
        reader = new FileReader();
        }catch(e)
        {
            document.getElementById('output').innerHTML = 
                "Error: seems File API is not supported on your browser";
          return;
      }

      //Read file into memory as UTF-8      
      reader.readAsText(readFile, "UTF-8");

      //Handle progress, success, and errors

      reader.onload = loaded;
      reader.onerror = errorHandler;
    }



    function loaded(evt)
    {
      //Obtain the read file data    
      var fileString = evt.target.result;
      document.getElementById('output').innerHTML = fileString;
    }

    function errorHandler(evt)
    {
      if(evt.target.error.code == evt.target.error.NOT_READABLE_ERR)
        {
        //The file could not be read
            document.getElementById('output').innerHTML = "Error reading file..."
      }
    }
    //Start reading file on load
    window.addEventListener("load", startRead() { }, false);

            </script>
        </head>

        <body>

            <pre>
                <code id="output">
                </code>
            </pre>
        </body>
    </html>

Da unten ist der code, die ich geändert, um den oben genannten code. Meine Absicht war. Als ich öffnen Sie die html-Datei, die es Lesen würden, die text-Datei im aktuellen Verzeichnis und den Inhalt anzuzeigen.

<html>
    <head>
        <meta http-equiv='Content-type' content='text/html;charset=UTF-8' >
        <script>
function startRead()
{
  //obtain input element through DOM 

var file = document.getElementById("file").files[0];

  if(file)
    {
    getAsText(file);
  }
}

function getAsText(readFile)
{
    var reader;
    try
    {
    reader = new FileReader();
    }catch(e)
    {
        document.getElementById('output').innerHTML = 
            "Error: seems File API is not supported on your browser";
      return;
  }

  //Read file into memory as UTF-8      
  reader.readAsText(readFile, "UTF-8");

  //Handle progress, success, and errors

  reader.onload = loaded;
  reader.onerror = errorHandler;
}



function loaded(evt)
{
  //Obtain the read file data    
  var fileString = evt.target.result;
  document.getElementById('output').innerHTML = fileString;
}

function errorHandler(evt)
{
  if(evt.target.error.code == evt.target.error.NOT_READABLE_ERR)
    {
    //The file could not be read
        document.getElementById('output').innerHTML = "Error reading file..."
  }
}
        </script>
    </head>

    <body>
        <input id="file" type="file" multiple onchange="startRead()">
        <pre>
            <code id="output">
            </code>
        </pre>
    </body>
</html>
  • Java hat nichts mit JavaScript
  • document.getElementById("\\file.txt") existiert nicht in Ihrem Dokument, so erhalten Sie eine Ausnahme aus, wenn Sie versuchen zu Lesen. Schauen Sie in Ihrem JavaScript-Konsole.
  • Dies tut document.getElementById("\\file.txt").files[0] erste Zeile jedes element. Ich denke nicht so. Was versuchst hier?
  • "load", startRead() { }, false ist ein syntax-Fehler, so dass Sie erhalten eine Ausnahme, wenn Sie versuchen, kompilieren, der code. Schauen Sie in Ihrem JavaScript-Konsole.
  • Ich habe das original-code. Das ist das, was ich geändert um diesen code zu erhalten. Meine Bedingung, die ich erwähnt habe, zusammen mit ihm. Was ich brauche, ist für das Skript zu Lesen die text-Datei auf laden und anzeigen der text-Inhalt.
  • Funktioniert das code-snippet unten arbeiten, im Gegensatz zu dem oben genannten?
  • ja man unten woks völlig in Ordnung. Die, die ich habe versucht, ändern für meine Anforderung ist der eine oben, das funktioniert nicht.
  • Es sollte funktionieren, wenn Sie möchten, ersetzen Sie window.addEventListener("load", startRead() { }, false); durch window.addEventListener("load", startRead);, wenn Sie möchten, schließen Sie die Datei-input-Feld mit der ID file und verwendet document.getElementById('file') statt ...\file....
  • Ich habe diese zu ändern. Es ist nicht geben eine Leistung. Ich denke, weil Sie nicht wissen, welche Datei zum Lesen aus, im nicht sicher. Ist es Weg angeben, oder codieren Sie einen Dateinamen oder Pfad, es wird also nur gelesen, dass.
  • Nein, das ist nicht möglich. Die Dateien sind zugänglich über die files Eigenschaft nur. Sie sollten zumindest ein FileList - Objekt beim setzen console.log(file.files[0]) im startRead - Funktion und ein Blick in die browser-Konsole. Ist es wirklich getElementById('file') und <input id="file" type="file"/>?
  • ist es zu schwierig, code der id="Datei" parameter so . Wenn ich laden Sie die html-Datei. Die text-Datei wird automatisch gelesen.?

InformationsquelleAutor Cobra | 2015-05-26
Schreibe einen Kommentar