Thanks to visit codestin.com
Credit goes to developer.mozilla.org

Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

FileReader: readAsDataURL() Methode

Baseline Weitgehend verfügbar

Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit Juli 2015 browserübergreifend verfügbar.

Hinweis: Diese Funktion ist in Web Workers verfügbar.

Die readAsDataURL()-Methode der FileReader-Schnittstelle wird verwendet, um den Inhalt des angegebenen Blob oder File zu lesen. Wenn der Lesevorgang abgeschlossen ist, wird die readyState-Eigenschaft DONE, und das loadend-Ereignis wird ausgelöst. Zu diesem Zeitpunkt enthält das result-Attribut die Daten als data: URL, die die Daten der Datei als Base64-kodierten String darstellt.

Hinweis: Das result 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 zuerst data:*/*;base64, aus dem Ergebnis.

Syntax

js
readAsDataURL(blob)

Parameter

blob

Der Blob oder die File, von dem gelesen werden soll.

Rückgabewert

Keiner (undefined).

Beispiele

Lesen einer einzelnen Datei

HTML

html
<input type="file" /><br />
<img src="" height="200" alt="Image preview" />

JavaScript

js
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

html
<input id="browse" type="file" multiple />
<div id="preview"></div>

JavaScript

js
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

Spezifikation
File API
# readAsDataURL

Browser-Kompatibilität

Siehe auch