Clientseitiges Lesen von Dateiinhalten in JavaScript in allen Browsern
In dem Bemühen, eine skriptbasierte Lösung zum Abrufen von Dateiinhalten aus einem zu finden Client-Rechner über einen Browser zu nutzen, wurde eine Lösung für Firefox und Internet Explorer entwickelt. Die Ausweitung dieser Funktionalität auf andere Browser wirft jedoch die Frage auf:
Können wir in Safari und Chrome clientseitig auf Dateiinhalte zugreifen?
Native File API-Ansatz
Seit der ursprünglichen Antwort hat sich die Datei-API als standardisierte Methode herausgestellt, die von den meisten modernen Browsern unterstützt wird, einschließlich IE 10 und weiter. Diese API bietet robuste Unterstützung für das asynchrone Lesen von Dateien, die Verarbeitung mehrerer Dateien und die anpassbare Textkodierungs-Dekodierung.
Um die Datei-API zu nutzen, können die folgenden Schritte ausgeführt werden:
var file = document.getElementById("fileForUpload").files[0]; if (file) { var reader = new FileReader(); reader.readAsText(file, "UTF-8"); reader.onload = function (evt) { document.getElementById("fileContents").innerHTML = evt.target.result; } reader.onerror = function (evt) { document.getElementById("fileContents").innerHTML = "error reading file"; } }
WebKit-basierte Browser (Safari, Chrome)
Leider waren zum Zeitpunkt der ursprünglichen Antwort WebKit-Browser (einschließlich Safari und Chrome) fehlte die native Unterstützung zum Lesen von Dateiinhalten. Es wurden jedoch Vorschläge gemacht:
Seitdem Es gab keine wesentlichen Aktualisierungen der Situation. WebKit-Browser bieten weiterhin nur Zugriff auf Dateinamen und -größen über das File-Objekt, wodurch die Möglichkeit eingeschränkt wird, Dateiinhalte direkt aus diesen Browsern zu lesen.
Alternative Überlegungen
Das obige ist der detaillierte Inhalt vonKann JavaScript lokale Dateiinhalte clientseitig in Safari und Chrome lesen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!