URL.createObjectURL()

URL.createObjectURL() 정적 메서드는 주어진 객체를 가리키는 URL을 DOMString으로 반환합니다. 해당 URL은 자신을 생성한 창의 document가 사라지면 함께 무효화됩니다.

객체 URL을 해제하려면 revokeObjectURL()을 호출하세요.

주의: 이 기능은 Web Worker에서 사용할 수 있습니다.

참고: 이 기능은 메모리 누수의 가능성으로 인해 Service Worker에서 사용할 수 없습니다.

구문

const objectURL = URL.createObjectURL(object)

매개변수

object
객체 URL을 생성할 File, Blob, MediaSource 객체.

반환 값

지정한 object의 참조 URL을 담은 DOMString

예제

객체 URL을 사용하여 이미지 표시하기를 보세요.

사용 일람

메모리 관리

같은 객체를 사용하더라도, createObjectURL()을 매번 호출할 때마다 새로운 객체 URL을 생성합니다. 각각의 URL을 더는 쓰지 않을 땐 URL.revokeObjectURL()을 사용해 하나씩 해제해줘야 합니다.

브라우저는 불러온 문서를 해제할 때 객체 URL도 자동으로 해제합니다. 그러나 최적의 성능과 메모리 사용량을 위해서, 객체 URL을 해제해도 안전하다면 그렇게 해야 합니다.

미디어 스트림 객체 URL

구 Media Source 명세에서는 <video> 요소에 스트림을 부착하려면 MediaStream의 객체 URL을 생성했어야 했습니다. 이제 이런 과정은 필수가 아니며, 브라우저도 지원을 중단하고 있습니다.

중요: 아직 미디어 요소에 createObjectURL()을 사용해 스트림을 부착하고 있다면, srcObjectMediaStream을 직접 설정하도록 코드를 수정해야 합니다.

명세

Specification Status Comment
File API
The definition of 'createObjectURL()' in that specification.
Working Draft Initial definition.
Media Source Extensions
The definition of 'URL' in that specification.
Recommendation

MediaSource extension.

Older versions of this specification used createObjectURL() for MediaStream objects; this is no longer supported.

브라우저 호환성

Update compatibility data on GitHub
DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
createObjectURL
Experimental
Chrome Full support 19Edge Full support 12Firefox Full support 19
Notes
Full support 19
Notes
Notes createObjectURL() is no longer available within the context of a ServiceWorker.
IE Full support 10
Notes
Full support 10
Notes
Notes If the underlying object does not have a content type set, using this URL as the src of an img tag fails intermittently with error DOM7009.
Opera Full support 15Safari Full support 6WebView Android Full support YesChrome Android Full support 25Firefox Android Full support 19
Notes
Full support 19
Notes
Notes createObjectURL() is no longer available within the context of a ServiceWorker.
Opera Android Full support 14Safari iOS Full support 6Samsung Internet Android Full support 1.5
No longer accepts MediaStream objectChrome ?
Notes
?
Notes
Notes See here for progress on deprecation.
Edge ?
Notes
?
Notes
Notes See here for progress on deprecation.
Firefox Full support 62IE ? Opera ?
Notes
?
Notes
Notes See here for progress on deprecation.
Safari ?
Notes
?
Notes
Notes See here for progress on deprecation.
WebView Android ?
Notes
?
Notes
Notes See here for progress on deprecation.
Chrome Android ?
Notes
?
Notes
Notes See here for progress on deprecation.
Firefox Android Full support 62Opera Android ?
Notes
?
Notes
Notes See here for progress on deprecation.
Safari iOS ?
Notes
?
Notes
Notes See here for progress on deprecation.
Samsung Internet Android ?
Notes
?
Notes
Notes See here for progress on deprecation.

Legend

Full support  
Full support
Compatibility unknown  
Compatibility unknown
Experimental. Expect behavior to change in the future.
Experimental. Expect behavior to change in the future.
See implementation notes.
See implementation notes.

같이 보기