FileReader liest lokale Dateien oder BlobsDas FileReader-Objekt ermöglicht das asynchrone Lesen des Inhalts von Dateien, die auf dem Computer des Benutzers gespeichert sind. Verwenden Sie das File- oder Blob-Objekt, um die zu lesende Datei oder Daten anzugeben. Die FileReader-Schnittstelle bietet Methoden zum Lesen von Dateien und ein Ereignismodell, das die Leseergebnisse enthält. 1. Verwendung von FileReaderHinweis: Wenn die Kompatibilität mit älteren Browsern gewährleistet sein muss, ist zu prüfen, ob das FileReader-Objekt vorhanden ist. wenn (Fenster.FileReader) { : Der Reader kann nicht mit anderen Dateien verbunden werden. } anders { console.log('Ihr Browser unterstützt das Lesen von Dateien nicht'); } 2. FileReader-Methoden
3. FileReader-Eigenschaften
4. FileReader-Ereignisse
Beachten: 1. Aus Sicherheitsgründen liest FileReader per Eingabe übergebene oder vom Ajax-Leseserver zurückgegebene Dateien und kann keine Dateien im angegebenen Pfad lesen. 2. FileReader kann im Webworker verwendet werden. <!DOCTYPE html> <html Klasse="no-js"> <Kopf> <meta charset="utf-8" /> <meta http-equiv="X-UA-kompatibel" content="IE=edge" /> <Titel></Titel> <meta name="Beschreibung" Inhalt="" /> <meta name="viewport" content="width=Gerätebreite, Anfangsmaßstab=1" /> <link rel="stylesheet" href="" /> </Kopf> <Text> <input type="file" id="meineDatei" /> <Skripttyp="text/javascript"> wenn (Fenster.FileReader) { var reader = neuer FileReader(); } anders { console.log('Ihr Browser unterstützt das Lesen von Dateien nicht'); } var meineDatei = document.querySelector('#meineDatei'); meineDatei.onchange = Funktion () { var Datei = meineDatei.Dateien[0]; reader.readAsDataURL(Datei); Leser.onload = Funktion () { var data = reader.result; //Dateiinhalt im Base64-Format }; Leser.beiFehler = Funktion(){ console.log('Lesen fehlgeschlagen'); Konsole.log(Leser.Fehler); } }; </Skript> </body> </html> Probleme bei der Verwendung von FileReader zum Lesen lokaler FestplattendateienFühren Sie eine JS-Datei aus (legen Sie die JS-Datei unter die Quelle des Projekts). (1) java.net.URL url = TestScriptEngine.class.getClassLoader().getResource("a.js"); (2)//System.out.println(url.getPath().substring(1).replace("%20", " ")); (3)FileReader fileReader = neuer FileReader(url.getPath()); Laufzeit
Wenn ich url.getPath() in "D:/Eclipse WorkSpace/(java300)ScriptManager/bin/a.js" mein lokales Dateiverzeichnis ändere, kann ich die Datei erfolgreich lesen Der Wert von url.getPath() ist: D:\Eclipse%20WorkSpace\(java300)ScriptManager\bin\a.js Aber die Ladedatei kann nicht gefunden werden Das Problem ist „%20“. Zwischen Eclipse WorkSpace steht ein Leerzeichen, das System ersetzt es automatisch durch %20, was während des Betriebs zu einem Fehler führt. Führen Sie einige Verarbeitungen an url.getPath() durch und ersetzen Sie %20 durch " " Leerzeichen durch url.getPath().substring(1).replace("%20", " "); das Problem ist gelöst 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:
|
<<: Beispiel für eine adaptive CSS-Bildschirmgrößenimplementierung
>>: So verwenden Sie crontab, um MySQL-Datenbanken regelmäßig im Linux-System zu sichern
Lassen Sie uns zunächst einige wichtige Punkte zu...
Vorwort: Bei der täglichen Verwendung der Datenba...
Stapelweises Ersetzen eines Teils der Daten eines...
Manchmal möchten wir einen Befehl in einem Contai...
Inhaltsverzeichnis 1. Einleitung 2. Beschreibung ...
HTML5 fügt weitere semantische Tags hinzu, wie et...
Vorwort Auf dem Markt sind zahlreiche Open-Source...
Vorwort JavaScript unterscheidet sich von anderen...
Frage Nicht genügend Speicher, wenn Docker Elasti...
1. Entpacken Sie mysql-8.0.21-winx64 2. Konfiguri...
Inhaltsverzeichnis Vorwort: 1. Einführung in die ...
Beschreibung Lösung Der Bridge-Modus der virtuell...
Inhaltsverzeichnis Einführung 1. Was ist one-clic...
Beim Erstellen einer Webseite müssen wir normaler...
Dieser Artikel stellt ein möglichst einfaches Fra...