URL.createObjectURL

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.

La méthode statique URL.createObjectURL() crée une chaîne contenant une URL représentant l'objet passé en paramètre. La durée de vie de l'URL est liée au document de la fenêtre depuis laquelle elle a été créée. La nouvelle URL d'objet représente l'objet File ou Blob spécifié.

Pour libérer une URL d'objet, il faut appeler revokeObjectURL()

Note : Cette fonctionnalité est disponible via les Web Workers.

Note : Cette fonctionnalité n'est pas disponible dans les Service Workers à cause de possible fuite mémoire.

Syntaxe

js
objectURL = URL.createObjectURL(object);

Paramètres

object

Un objet File, Blob ou MediaSource pour lequel créer une URL d'objet.

Valeur de retour

Une DOMString contenant une URL d'objet, pouvant être utilisée comme une référence vers l'objet source object spécifié.

Exemple

Notes d'utilisation

Gestion de la mémoire

À chaque fois que vous appelez createObjectURL(), une nouvelle URL d'objet est créée, même si vous en avez déjà créée une pour le même objet. Chacune d'elles doit être libérée en appelant URL.revokeObjectURL() lorsque vous n'en avez plus besoin.

Les navigateurs libèrent automatiquement les URL d'objet lorsque le document est déchargé (unload) ; cependant, pour une performance et une utilisation de la mémoire optimales, si vous avez la possiblité de les libérer explictement sans danger, vous devriez le faire.

Utiliser les URL d'objet pour les flux de média

Dans d'anciennes versions de la spécification de Media Source, attacher un flux à un élément <video> requérait de créer une URL d'objet pour le MediaStream. Cela n'est plus nécessaire, et les navigateurs cessent progressivement de supporter cette pratique.

Attention : Si vous avez toujours du code qui repose sur URL.createObjectURL pour attacher des flux à des éléments média, vous devez mettre à jour votre code pour attacher simplement srcObject directement au MediaStream.

Spécifications

Specification
File API
# dfn-createObjectURL

Compatibilité des navigateurs

Report problems with this compatibility data on GitHub
desktopmobileserver
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Deno
Node.js
createObjectURL() static method

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
See implementation notes.

Voir aussi