Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten.Erfahre mehr über dieses Experiment.
FileReader: readAsDataURL() Methode
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since Juli 2015.
Hinweis: Diese Funktion ist inWeb Workers verfügbar.
DiereadAsDataURL()-Methode derFileReader-Schnittstelle wird verwendet, um den Inhalt des angegebenenBlob oderFile zu lesen. Wenn der Lesevorgang abgeschlossen ist, wird diereadyState-EigenschaftDONE, und dasloadend-Ereignis wird ausgelöst. Zu diesem Zeitpunkt enthält dasresult-Attribut die Daten alsdata: URL, die die Daten der Datei als Base64-kodierten String darstellt.
Hinweis:Dasresult des Blobs kann nicht direkt als Base64 decodiert werden, ohne zuerst die Data-URL-Deklaration zu entfernen, die den Base64-kodierten Daten vorausgeht. Um nur den Base64-kodierten String zu erhalten, entfernen Sie zuerstdata:*/*;base64, aus dem Ergebnis.
In diesem Artikel
Syntax
readAsDataURL(blob)Parameter
Rückgabewert
Keiner (undefined).
Beispiele
>Lesen einer einzelnen Datei
HTML
<input type="file" /><br /><img src="" height="200" alt="Image preview" />JavaScript
const preview = document.querySelector("img");const fileInput = document.querySelector("input[type=file]");fileInput.addEventListener("change", previewFile);function previewFile() { const file = fileInput.files[0]; const reader = new FileReader(); reader.addEventListener("load", () => { // convert image file to base64 string preview.src = reader.result; }); if (file) { reader.readAsDataURL(file); }}Ergebnis
Lesen mehrerer Dateien
HTML
<input type="file" multiple /><div></div>JavaScript
function previewFiles() { const preview = document.querySelector("#preview"); const files = document.querySelector("input[type=file]").files; function readAndPreview(file) { // Make sure `file.name` matches our extensions criteria if (/\.(?:jpe?g|png|gif)$/i.test(file.name)) { const reader = new FileReader(); reader.addEventListener("load", () => { const image = new Image(); image.height = 100; image.title = file.name; image.src = reader.result; preview.appendChild(image); }); reader.readAsDataURL(file); } } if (files) { Array.prototype.forEach.call(files, readAndPreview); }}const picker = document.querySelector("#browse");picker.addEventListener("change", previewFiles);Ergebnis
Spezifikationen
| Specification |
|---|
| File API> # readAsDataURL> |