Blob: type-Eigenschaft

Hinweis: Dieses Feature ist verfügbar in Web Workers.

Die schreibgeschützte type-Eigenschaft des Blob-Interfaces gibt den MIME-Typ der Datei zurück.

Hinweis: Basierend auf der aktuellen Implementierung lesen Browser den Bytestream einer Datei nicht, um den Medientyp zu bestimmen. Er wird basierend auf der Dateiendung angenommen; eine PNG-Bilddatei, die in .txt umbenannt wurde, würde "text/plain" und nicht "image/png" liefern. Darüber hinaus ist blob.type im Allgemeinen nur für gängige Dateitypen wie Bilder, HTML-Dokumente, Audio und Video zuverlässig. Unübliche Dateiendungen würden einen leeren String zurückgeben. Die Konfiguration des Clients (zum Beispiel die Windows-Registry) kann sogar bei gängigen Typen zu unerwarteten Werten führen. Entwickler werden darauf hingewiesen, sich nicht ausschließlich auf diese Eigenschaft als Validierungsschema zu verlassen.

Wert

Ein String, der den MIME-Typ der Datei enthält, oder ein leerer String, wenn der Typ nicht bestimmt werden konnte.

Beispiele

Dieses Beispiel bittet den Benutzer, eine Anzahl von Dateien auszuwählen, und überprüft dann jede Datei, um sicherzustellen, dass sie zu einer bestimmten Menge von Bilddateitypen gehört.

HTML

html
<input type="file" id="input" multiple />
<output id="output">Choose image files…</output>

JavaScript

js
// Our application only allows GIF, PNG, and JPEG images
const allowedFileTypes = ["image/png", "image/jpeg", "image/gif"];

const input = document.getElementById("input");
const output = document.getElementById("output");

input.addEventListener("change", (event) => {
  const files = event.target.files;

  if (files.length === 0) {
    output.innerText = "Choose image files…";
    return;
  }

  const allAllowed = Array.from(files).every((file) =>
    allowedFileTypes.includes(file.type),
  );
  output.innerText = allAllowed
    ? "All files clear!"
    : "Please choose image files only.";
});

Ergebnis

Spezifikationen

Specification
File API
# dfn-type

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch