Hallo,
ich möchte Daten vom lokalen Rechner
mit JavaScript laden da regional oft keine Internetzugang möglich ist. Mit euerem Beispiel Skript
https://blog.homepage-webhilfe.de/Artikel/dateien-vom-pc-mit-hilfe-von-javascript-einlesen/
kann ich die Datei als Text Datei prima fehlerfrei lesen. Wie speicherer ich die gelesene Textdatei zur Verarbeitung in einer Variable?
da läuft bei mir irgendetwas falsch. Wer kann helfen?
Anbei der reichlich kommentierte programmcode.
function OnShowSelectedFile() // Original siehe //https://blog.homepage-webhilfe.de/Artikel/dateien-vom-pc-mit-hilfe-von-javascript-einlesen/ ...... // Lesen der Datei als Text starten oReader.readAsText(aFileList[0]); var fileContent = oReader.result; // hier mache ich etwas falsch, der inhalt des Textfiles soll in die Variable "fileContent" geschrieben werden ....... // Weiterverarbeitung funktioniert - Die in die Variable "fileContent" als Text eingelesenen Daten (csv Format, Trennzeichen ; und \n ) in das 2D Array BeeHiveData[][] splitten var BeeHiveData = []; // var fileContent = 'Ja; Das; Ist ; Oben; ' + '\n' + 'und; das; ist; mitte;' + '\n' + 'aber;das;ist;unten;' ; // Das ist nur ein Beispieltext zum testen der folgenden Zeilen var rodArray = fileContent.split('\n'); // Als Text eingelesenen Daten in ein Array splitten (Trennzeichen hier "\n" ) for (var i = 0; i < rodArray.length; i++) { // Über alle Zeilen iterieren if (rodArray[i].length > 1) { // Nur wenn die Größe einer Zeile > 1 ist (sonst ist in der Zeile leer) var elementArray = rodArray[i].split(";"); // Zeile am Trennzeichen ";" trennen elementArray.splice(elementArray.length - 1, 1); // überflüssiges Element am Ende entfernen BeeHiveData.push(elementArray); // Array der Zeile dem Ergebnis Array hinzufügen -> Ergebnis ist ein 2D Array BeeHiveData[0][0] } } console.log(BeeHiveData); // Ausgabe des 2D Arrays mit den Daten zur Kontrolle des Ergebnisses auf Konsole } </script>