--- title: URL.createObjectURL slug: Web/API/URL/createObjectURL translation_of: Web/API/URL/createObjectURL --- <h2 id="Summary" name="Summary">Résumé</h2> <p>{{APIRef("URL")}}<br> La méthode statique <strong>URL.createObjectURL()</strong> 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 {{domxref("document")}} de la fenêtre depuis laquelle elle a été créée. La nouvelle URL d’objet représente l’objet {{domxref("File")}} ou {{domxref("Blob")}} spécifié.</p> <p>Pour libérer une URL d’objet, il faut appeler {{domxref("URL.revokeObjectURL", "revokeObjectURL()")}}</p> <p>{{AvailableInWorkers}}</p> <div class="blockIndicator note"> <p><strong>Note :</strong> Cette fonctionnalité n'est pas disponible dans les <a href="/fr/docs/Web/API/ServiceWorker">Service Workers</a> à cause de possible fuite mémoire.</p> </div> <h2 id="Syntax" name="Syntax">Syntaxe</h2> <pre class="syntaxbox"><em>objectURL</em> = URL.createObjectURL(<em>object</em>); </pre> <h3 id="Paramètres">Paramètres</h3> <dl> <dt><code>object</code></dt> <dd>Un objet {{domxref("File")}}, {{domxref("Blob")}} ou {{domxref("MediaSource")}} pour lequel créer une URL d’objet.</dd> </dl> <h3 id="Valeur_de_retour">Valeur de retour</h3> <dl> <dd>Une {{domxref("DOMString")}} contenant une URL d’objet, pouvant être utilisée comme une référence vers l’objet source <code>object</code> spécifié.</dd> </dl> <h2 id="Example" name="Example">Exemple</h2> <p>Voir <a href="/fr/docs/Web/API/File/Using_files_from_web_applications#Exemple_Utilisation_de_l'objet_URLs_pour_afficher_des_images" title="https://developer.mozilla.org/en/Using_files_from_web_applications#Example:_Using_object_URLs_to_display_images">Utilisation de l’objet URLs pour afficher des images</a>.</p> <h2 id="Notes" name="Notes">Notes d’utilisation</h2> <h3 id="Gestion_de_la_mémoire">Gestion de la mémoire</h3> <p>À chaque fois que vous appelez <code>createObjectURL()</code>, 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 {{domxref("URL.revokeObjectURL()")}} lorsque vous n’en avez plus besoin.</p> <p>Les navigateurs libèrent automatiquement les URL d’objet lorsque le document est déchargé (<em>unload</em>) ; 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.</p> <h3 id="Utiliser_les_URL_d’objet_pour_les_flux_de_média">Utiliser les URL d’objet pour les flux de média</h3> <p>Dans d’anciennes versions de la spécification de Media Source, attacher un flux à un élément {{HTMLElement("video")}} requiérait de créer une URL d’objet pour le {{domxref("MediaStream")}}. Cela n’est plus nécessaire, et les navigateurs cessent progressivement de supporter cette pratique.</p> <div class="warning"> <p><strong>Important :</strong> si vous avez toujours du code qui repose sur {{domxref("URL.createObjectURL")}} pour attacher des flux à des éléments média, vous devez mettre à jour votre code pour attacher simplement {{domxref("HTMLMediaElement.srcObject", "srcObject")}} directement au <code>MediaStream</code>.</p> </div> <h2 id="Browser_Compatibility" name="Browser_Compatibility">Spécifications</h2> <table class="standard-table"> <tbody> <tr> <th scope="col">Spécification</th> <th scope="col">Statut</th> <th scope="col">Commentaire</th> </tr> <tr> <td>{{SpecName("File API", "#dfn-createObjectURL", "createObjectURL()")}}</td> <td>{{Spec2("File API")}}</td> <td>Définition initiale.</td> </tr> <tr> <td>{{SpecName("Media Source Extensions", "#dom-url-createobjecturl", "URL")}}</td> <td>{{Spec2("Media Source Extensions")}}</td> <td> <p>Extension MediaSource.<br> Les anciennes versions de cette spécification utilisaient <code>createObjectURL()</code> pour les objets {{domxref("MediaStream")}} ; ce n’est plus supporté.</p> </td> </tr> </tbody> </table> <h2 id="Browser_Compatibility" name="Browser_Compatibility">Compatibilité des navigateurs</h2> <div class="hidden">Le tableau de compatibilité de cette page est généré à partir de données structurées. Si vous souhaitez contribuer aux données, veuillez consulter <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> et nous envoyer une pull request.</div> <p>{{Compat("api.URL.createObjectURL")}}</p> <h2 id="See_also" name="See_also">Voir aussi</h2> <ul> <li><a href="/fr/docs/Web/API/File/Using_files_from_web_applications" title="Using files from web applications">Utiliser des fichiers à partir d’applications web</a></li> <li><a href="/fr/docs/Web/API/File/Using_files_from_web_applications#Exemple_Utilisation_de_l'objet_URLs_pour_afficher_des_images" title="https://developer.mozilla.org/en/Using_files_from_web_applications#Example:_Using_object_URLs_to_display_images">Utilisation de l’objet URLs pour afficher des images</a></li> <li>{{domxref("URL.revokeObjectURL()")}}</li> <li>{{domxref("HTMLMediaElement.srcObject")}}</li> <li>{{domxref("FileReader.readAsDataURL()")}}</li> </ul>