File

File 인터페이스는 파일에 대한 정보를 제공하고, 웹 페이지의 JavaScript가 해당 내용에 접근할 수 있는 방법을 제공합니다.

File 객체는 보통 FileList 객체에서 가져올 수 있습니다. 그리고 FileList 객체는 사용자가 <input> 요소에서 파일을 선택했을 때, 드래그 앤 드롭 작업의 DataTransfer 객체에서, 그리고 HTMLCanvasElementmozGetAsFile() API에서 반환합니다.

File 객체는 특정 종류의 Blob이며, Blob을 사용할 수 있는 모든 맥락에서 사용할 수 있습니다. 특히 FileReader, URL.createObjectURL(), createImageBitmap(), XMLHttpRequest.send()BlobFile을 모두 허용합니다.

자세한 정보 및 예제는 웹 애플리케이션에서 파일 사용하기를 참고하세요.

생성자

File()
새로 생성한 File을 반환합니다.

속성

File.lastModified Read only
파일의 최종 수정 시간을 UNIX 시간(1970년 1월 1일 자정)과의 밀리초 차이로 반환합니다.
File.lastModifiedDate Read only
File 객체가 참조하는 파일의 마지막 수정 시간을 Date로 반환합니다.
File.name Read only
File 객체가 참조하는 파일의 이름을 반환합니다.
File.webkitRelativePath Read only
File의 URL 상대경로를 반환합니다.

FileBlob 을 구현하기 때문에 사용할 수 있는 속성도 있습니다.

File.size Read only
File의 크기를 바이트 단위로 반환합니다.
File.type Read only
FileMIME 유형을 반환합니다.

메서드

File 인터페이스는 메서드를 정의하지 않지만, Blob 인터페이스에서 메서드를 상속합니다.

Blob.slice()
소스 Blob에서 지정한 바이트 범위 만큼의 데이터를 포함하는, 새로운 Blob 객체를 반환합니다.
Blob.stream()
FileReadableStream으로 변환합니다. ReadableStream은 파일 내용을 읽을 때 사용할 수 있습니다.
Blob.text()
File을 스트림으로 변환한 후 끝까지 읽습니다. USVString으로 이행하는 Promise를 반환합니다.
Blob.arrayBuffer()
File을 스트림으로 변환한 후 끝까지 읽습니다. ArrayBuffer로 이행하는 Promise를 반환합니다.

명세

Specification Status Comment
File API
The definition of 'The File interface' in that specification.
Working Draft Initial definition

브라우저 호환성

Update compatibility data on GitHub
DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
FileChrome Full support 13Edge Full support 12Firefox Full support 7
Full support 7
No support 3 — 7
Notes
Notes Non-standard implementation.
IE Full support 10Opera Full support 11.5Safari Full support 6WebView Android Full support ≤37Chrome Android Full support 18Firefox Android Full support 7
Full support 7
No support 4 — 7
Notes
Notes Non-standard implementation.
Opera Android Full support 11.5Safari iOS Full support 6Samsung Internet Android Full support 1.0
File() constructorChrome Full support 13Edge Full support 79Firefox Full support 7IE No support NoOpera Full support 11.5Safari Full support 10.1WebView Android Full support ≤37Chrome Android Full support 18Firefox Android Full support 7Opera Android Full support 11.5Safari iOS Full support 6Samsung Internet Android Full support 1.0
lastModifiedChrome Full support 13Edge Full support 18Firefox Full support 15IE No support NoOpera Full support 16Safari Full support 10WebView Android Full support YesChrome Android Full support YesFirefox Android No support NoOpera Android No support NoSafari iOS Full support 10Samsung Internet Android Full support Yes
lastModifiedDate
DeprecatedNon-standard
Chrome Full support 13Edge Full support 12Firefox No support 15 — 61IE Full support 10Opera Full support 16Safari No support NoWebView Android Full support YesChrome Android Full support YesFirefox Android No support NoOpera Android No support NoSafari iOS No support NoSamsung Internet Android Full support Yes
nameChrome Full support 13Edge Full support 12Firefox Full support 3.6IE Full support 10Opera Full support 16Safari Full support YesWebView Android Full support YesChrome Android Full support YesFirefox Android No support NoOpera Android No support NoSafari iOS No support NoSamsung Internet Android Full support Yes
typeChrome Full support 13Edge Full support 12Firefox Full support 3.6IE Full support 10Opera Full support 16Safari Full support YesWebView Android Full support YesChrome Android Full support YesFirefox Android No support NoOpera Android No support NoSafari iOS Full support YesSamsung Internet Android Full support Yes
webkitRelativePathChrome Full support 13
Prefixed
Full support 13
Prefixed
Prefixed Implemented with the vendor prefix: webkit
Edge Full support 13Firefox Full support 49IE No support NoOpera No support NoSafari Full support 11.1WebView Android Full support YesChrome Android Full support 18
Prefixed
Full support 18
Prefixed
Prefixed Implemented with the vendor prefix: webkit
Firefox Android Full support 49Opera Android No support NoSafari iOS Full support 11.3Samsung Internet Android Full support 1.0
Prefixed
Full support 1.0
Prefixed
Prefixed Implemented with the vendor prefix: webkit

Legend

Full support  
Full support
No support  
No support
Non-standard. Expect poor cross-browser support.
Non-standard. Expect poor cross-browser support.
Deprecated. Not for use in new websites.
Deprecated. Not for use in new websites.
See implementation notes.
See implementation notes.
Requires a vendor prefix or different name for use.
Requires a vendor prefix or different name for use.

같이 보기