JS liest Datei FileReaderMit dem FileReader-Objekt kann eine Webanwendung den Inhalt einer auf dem Computer des Benutzers gespeicherten Datei (oder eines Rohdatenpuffers) asynchron lesen. Dabei wird ein File- oder Blob-Objekt verwendet, um die zu lesende Datei oder die zu lesenden Daten anzugeben. dokumentierenDateileser Ereignisse und MethodenEreignisbehandlung
Standardmethoden
Brechen Sie den Lesevorgang ab. Bei der Rückgabe lautet die Eigenschaft readyState DONE.
Beginnen Sie mit dem Lesen des Inhalts des angegebenen Blobs. Sobald der Vorgang abgeschlossen ist, enthält die Ergebnisseigenschaft das ArrayBuffer-Datenobjekt der gelesenen Datei.
Beginnen Sie mit dem Lesen des Inhalts des angegebenen Blobs. Nach Abschluss enthält die Ergebnisseigenschaft eine Zeichenfolge im Format „Daten: URL“, die den Inhalt der gelesenen Datei darstellt.
Beginnen Sie mit dem Lesen des Inhalts des angegebenen Blobs. Nach Abschluss enthält die Ergebnisseigenschaft eine Zeichenfolge, die den Inhalt der gelesenen Datei darstellt. Grundlegende VerwendungDateivorbereitung: read.txt (Sie können jede Datei auf Ihrem Computer lesen) HTML-Struktur <Eingabetyp="Datei" mehrere> JS-Aufruf <Skript> fenster.onload = funktion(){ var inpFile = document.querySelector('Eingabe[Typ=Datei]') inpFile.addEventListener('ändern', Funktion(){ var reader = neuer FileReader() // Asynchrone Anfrage senden // 0. Methode readAsText verwenden (Ergebnis als normalen Text lesen) Leser.readAsText(diese.Dateien[0]) //Ergebnis des erfolgreichen Lesens: Die Datei wurde erfolgreich gelesen (die Datei read.txt liegt auf dem Rechner) Leser.onload = Funktion(){ //Nach dem Lesen werden die Daten in der Result-Eigenschaft des Objekts gespeichert console.log(this.result)//Drucken: Die Datei wurde erfolgreich gelesen } }) } </Skript> JS-Aufrufe verwenden andere Methoden (andere Methoden werden auf die gleiche Weise verwendet) readAsDataURL fenster.onload = funktion(){ var inpFile = document.querySelector('Eingabe[Typ=Datei]') inpFile.addEventListener('ändern', Funktion(){ var reader = neuer FileReader() // Verwenden Sie readAsDataURL (um die Base64-Kodierung zu erhalten) reader.readAsDataURL(diese.dateien[0]) Leser.onload = Funktion(){ konsole.log(dieses.ergebnis) //Daten:Text/Plain;Base64,5bey57uP5oiQ5Yqf6K+75Y+W5paH5Lu2 } }) } EreignisbehandlungJS-Aufruf (verwenden Sie weiterhin das obige HTML und die Dateien – oder bereiten Sie eine größere Datei vor; die Wirkung ist dann besser) fenster.onload = funktion(){ var inpFile = document.querySelector('Eingabe[Typ=Datei]') inpFile.addEventListener('ändern', Funktion(){ var reader = neuer FileReader() Leser.readAsText(diese.Dateien[0]) Variablenanzahl = 0; Leser.onloadstart = Funktion(){ console.log("Onloadstart-Status"+this.readyState) console.log("Laden starten") } reader.onloadend = Funktion(){ console.log("Onloadend-Status"+this.readyState) console.log("Laden abgeschlossen") } reader.onprogress = Funktion(){ zählen++; console.log("Status des Fortschritts"+this.readyState) console.log("Wird geladen"+Anzahl) } Leser.onload = Funktion(){ console.log("Die von onload erhaltenen Daten sind "+this.result) Konsole.log("Status"+dieser.readyState) } Leser.beiFehler = Funktion(){ console.log('Etwas ist schiefgelaufen') } Leser.beiFehler = Funktion(){ console.log('Behandeln Sie das Abbruchereignis. Dieses Ereignis wird ausgelöst, wenn der Lesevorgang unterbrochen wird.') } }) } Die Ergebnisse sind wie folgt Wichtige Ergebnisanalyse:
Knotenoperationsdatei (Readfile)Basierend auf dem oben Gesagten können wir erkennen, dass JavaScript im Browser nicht die Möglichkeit hat, Dateien zu verarbeiten (aus Sicherheitsgründen kann es lokale Dateien nicht direkt verarbeiten), JavaScript in Node jedoch die Möglichkeit hat, Dateien zu verarbeiten. Wie liest Node Dateien? (Sie können den Code bei der Installation von Node ignorieren.)
// 1. Verwenden Sie die Methode require, um das fs-Kernmodul zu laden var fs = require('fs') // 2. Datei lesen // Der erste Parameter ist der zu lesende Dateipfad // Der zweite Parameter ist eine Callback-Funktion // Erfolg // Daten Daten // Fehler null // Fehlgeschlagen // Daten undefiniert keine Daten // Fehler Fehlerobjekt fs.readFile('read.txt', function (error, data) { // Hier können Sie prüfen, ob ein Fehler aufgetreten ist, indem Sie error if (error) { beurteilen. console.log('Die Datei konnte nicht gelesen werden.') } anders { Konsole.log(Daten.toString()) } }) Ergebnis Das Lesen von Dateien ist ein asynchroner Vorgang.Wenn wir mehrere Dateien lesen, stellen wir fest, dass die Verwendung von readfile zum Lesen von Dateien die Ergebnisse nicht unbedingt in der richtigen Reihenfolge ausgibt. Dies ist also ein asynchroner Vorgang. So lesen Sie Dateien sequenziell. Verwenden von Promisesvar fs = erfordern('fs') Funktion pReadFile(Dateipfad) { returniere neues Promise(Funktion (auflösen, ablehnen) { fs.readFile(Dateipfad, 'utf8', Funktion (Fehler, Daten) { wenn (Fehler) { ablehnen (Fehler) } anders { auflösen (Daten) } }) }) } pReadFile('./data/a.txt') .then(Funktion (Daten) { console.log(Daten) returniere pReadFile('./data/b.txt') }) .then(Funktion (Daten) { console.log(Daten) gibt pReadFile('./data/c.txt') zurück. }) .then(Funktion (Daten) { console.log(Daten) }) Schreiben von Dateienfs.writeFile('read.txt', 'Hallo zusammen, ich möchte mich euch vorstellen. Ich bin ein Dateischreiber.', function (error) { if (Fehler) { console.log('Schreiben fehlgeschlagen') } anders { console.log('Erfolgreich geschrieben') } }) Das Obige ist meine persönliche Erfahrung. Ich hoffe, es kann Ihnen als Referenz dienen. Ich hoffe auch, dass Sie 123WORDPRESS.COM unterstützen werden. Das könnte Sie auch interessieren:
|
<<: Implementierung der CSS-Auswahl von untergeordneten Elementen für übergeordnete Elemente
>>: Detaillierte Einführung in den HTML-Head-Tag
Meistens werden Plug-Ins zum Hochladen von Dateie...
Inhaltsverzeichnis Merkmale Erhaltungsstrategie B...
Inhaltsverzeichnis Routenplaner Hintergrund Erste...
Inhaltsverzeichnis Definieren der HTML-Struktur E...
Inhaltsverzeichnis Funktionskomponenten Aufteilun...
Vorwort Dieser Artikel stellt hauptsächlich die d...
Im Test wurde festgestellt, dass wenn die Seitende...
--Beim Verbinden mit der Datenbank die Matching-R...
Die Implementierung des Suchbinärbaums in JavaScr...
Inhaltsverzeichnis Nachrichtenbrett Erforderliche...
Lösen Sie das Problem, dass der vom Server nach d...
Mysql-Abfragezeitraum-Schnittmenge Anwendungsszen...
In diesem Artikel wird der spezifische JavaScript...
Was ist JConsole JConsole wurde in Java 5 eingefü...
Vorne geschrieben Es gibt zwei Möglichkeiten, MyS...