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
In diesem Artikel wird versucht, eine Demo zur Si...
Gehen Sie zunächst zum Herunterladen auf die offi...
Dieser Artikel dient zur Aufzeichnung der Install...
Ubuntu-JDK installieren: [Link] Installieren Sie ...
Inhaltsverzeichnis Überblick Was ist Lazy Loading...
Hintergrund: Da die Projekte des Unternehmens dem...
Inhaltsverzeichnis Verwenden bedingter Typen in g...
Aufgezeichnetes MySQL 5.7.9-Installationstutorial...
Heute habe ich diese Eingabeaufforderung gefunden...
Inhaltsverzeichnis BOM (Browserobjektmodell) 1. F...
Hier ist ein Fall, den Frontend-Entwickler kennen...
In diesem Artikel wird der spezifische Code von j...
Inhaltsverzeichnis 1. Array-Deduplizierung 2. Ded...
Vorwort Der Blogger verwendet die Idea IDE. Da di...
Nachdem ich fast zwei Tage lang mit dem domänenüb...