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.


O método estático URL.createObjectURL() cria um DOMString contendo a URL representando o objeto passado como parâmetro.

O tempo de vida da URL é vinculado ao document da janela onde ele foi criado. O novo objeto URL represenda o objeto File especificado ou o objeto Blob.

Para anular um objeto URL, execute o método revokeObjectURL()

Nota: This feature is available in Web Workers.

Nota: Esta funcionalidade não está disponível em Service Workers devido ao potencial de criar vazamento de memória

Sintaxe

js
const objectURL = URL.createObjectURL(object);

Parâmetros

object

Um File, Blob, ou objeto MediaSource para criar um objeto URL.

Retorno de valor

Uma DOMString contendo o objeto URL e pode ser usado para referenciar o conteúdo especificado na origem do object.

Exemplos

Notas de uso

Gerenciamento de memória

Cada vez que você executa createObjectURL(), um novo objeto URL é criado, mesmo que você já tenha criado este objeto. Cada um desses pode ser eliminado executando o método URL.revokeObjectURL() quando você não precisa mais dele.

Os navegadores vão limpar objetos URLs automaticamente quando o documento for descarregado; contudo, para otimizar a performace e o uso de memória, se há momentos que é seguro descarregar, você deve fazer isso.

Usando objeto URL para media stream

Em versões antigas da especificação Media Source, anexar stream a um elemento <video> é obrigatório criar um objeto URL para o MediaStream. Isto não é mais necessário, e os navegadores estão removendo o suporte para isso.

Aviso: Se você ainda tem código com createObjectURL() para anexar streams em elementos de media, você precisa atualizar seu código para srcObject to the MediaStream directly.

Especificações

Specification
File API
# dfn-createObjectURL

Compatibilidade de browser

BCD tables only load in the browser

Veja também