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

File 객체는 일반적으로 FileList 객체에서 회수할 수 있고, FileList 객체는 사용자가 <input> 요소에서 파일을 선택했을 때, 드래그 앤 드롭 작업의 DataTransfer 객체가, 또는 HTMLCanvasElementmozGetAsFile() API에서 반환합니다. Gecko에서 권한 있는 코드는 사용자 상호작용 없이 모든 로컬 파일을 나타내는 File 객체를 만들 수 있습니다. (자세한 정보는 구현 참고사항을 참고하세요)

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([start[, end[, contentType]]])
소스 Blob에서 지정한 바이트 범위 만큼의 데이터를 포함하는, 새로운 Blob 객체를 반환합니다.

명세

Specification Status Comment
File API 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 YesFirefox 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 YesChrome Android Full support YesFirefox 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 Yes
File() constructorChrome Full support 13Edge No support NoFirefox Full support 7IE No support NoOpera Full support 11.5Safari Full support 10.1WebView Android Full support YesChrome Android Full support YesFirefox Android Full support 7Opera Android No support NoSafari iOS Full support 6Samsung Internet Android Full support Yes
lastModifiedChrome Full support 13Edge Full support 18Firefox Full support 15IE No support NoOpera 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
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 YesFirefox 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
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 No support NoWebView 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 No support NoSamsung Internet Android ?

Legend

Full support  
Full support
No support  
No support
Compatibility unknown  
Compatibility unknown
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.

구현 참고사항

  • Gecko와 chrome 코드에서는 이 API를 사용할 수 있습니다. 자세한 내용은 크롬 코드에서 DOM 파일 API 사용하기 를 참조하세요. 크롬코드, JSM, 부트스크랩 스코프에서 사용하려면 Cu.importGlobalProperties(['File'])를 사용하여 임포트 해야 합니다.
  • Gecko 6.0 (Firefox 6.0 / Thunderbird 6.0 / SeaMonkey 2.3) 부터 권한있는 코드(extension과 같은)는 참조 할 파일을 지정하기 위해 nsIFile 객체를 DOM File 생성자에 전달할 수 있습니다.
  • Gecko 8.0 (Firefox 8.0 / Thunderbird 8.0 / SeaMonkey 2.5)부터는 nsIDOMFile 객체를 직접 인스턴스화하지 않고 new File을 사용하여 XPCOM 구성요소(컴포넌트) 코드에서 File객체를 만들 수 있습니다. 생성자(컨스트럭터)는 Blob과 달리 두 번째 인수로 파일 이름을 사용합니다. 파일 이름은 임의의 문자열이 될 수 있습니다.
    new File(
      Array parts,
      String filename, 
      BlobPropertyBag properties
    );
  • Gecko 7 에서는 다음과 같은 비표준 속성 및 메서드가 제거되었습니다. (Firefox 7.0 / Thunderbird 7.0 / SeaMonkey 2.4): File.fileName, File.fileSize, File.getAsBinary(), File.getAsDataURL(), File.getAsText(string encoding) (bug 661876). 대신에 표준 속성(property)인 File.name, Blob.size, FileReader 메서드를 사용합니다.

같이 보기

문서 태그 및 공헌자

이 페이지의 공헌자: alattalatta, mdnwebdocs-bot, DeadIntegral
최종 변경자: alattalatta,