JavaScript/URL/createObjectURL

Aus SELFHTML-Wiki
Wechseln zu: Navigation, Suche

Die Methode URL.createObjectURL erzeugt einen URL mit dem Schema "blob:", der das Objekt repräsentiert, das als Parameter übergeben wurde. Im Gegensatz zu einem Data-URL enthält ein Blob-URL nicht das vollständige Objekt in codierter Form, sondern lediglich eine Referenz auf das Objekt. Das Objekt selbst befindet sich lediglich im Speicher des Browsers.

  • Chrome
  • Firefox
  • IE 10
  • Opera
  • Safari

Details: caniuse.com

Sie können Blob-URLs verwenden, um ein Datenobjekt im Arbeitsspeicher aufzubauen und es dann - ähnlich wie bei einer Data-URL - dem User über einen Link zum Download anzubieten. Da eine Blob-URL nur eine Referenz darstellt, entfällt hier die Umwandlung in einen base64-codierten String, was bei großen Objekten lohnend sein kann.

Das MediaStream API hat in einer früheren Version Blob-URLs vorausgesetzt, um die Datenquelle anzugeben. Das ist in aktuellen Browsern nicht mehr erforderlich, und die Browserhersteller entfernen die Unterstützung dafür.

Syntax objektUrl = URL.createObjectURL(objekt);
Parameter objekt Ein File, Blob oder MediaSource-Objekt.
Rückgabe objektUrl Ein String, der die Objekt-URL enthält, mit der sich das angegebene Objekt ansprechen lässt


Beachten Sie: Eine Objekt-URL enthält eine Referenz auf das angegebene Objekt und sorgt damit dafür, dass dieses Objekt vom Garbage Collector nicht freigegeben werden kann. Wenn die aktuelle Seite verlassen wird, werden zwar alle Ressourcen freigegeben, aber wenn Sie eine Single-Page Webseite erstellen, müssen Sie selbst darauf achten, dass nicht mehr genutzte Objekt-URLs wieder freigegeben werden, um Speicherlecks zu vermeiden. Dazu dient die Methode revokeObjectURL.

ToDo (weitere ToDos)

Beispiel erstellen --Rolf b (Diskussion) 20:17, 6. Mai 2021 (CEST).

Weblinks[Bearbeiten]