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

File 객체는 일반적으로 FileList객체에서 검색됩니다. FileList 객체는 <input>요소, 드래그 앤 드롭 작업의 DataTransfer 객체, HTMLCanvasElementmozGetAsFile() API를 사용하여 파일을 선택해 반환합니다. Gecko에서 권한있는 코드는 사용자 상호작용없이 모든 로컬 파일을 나타내는 File 객체를 만들 수 있습니다. (자세한 정보는 Implementation notes 를 참조하세요)

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

자세한 정보 및 예제는 웹 어플리케이션에서의 파일 사용 을 참조하세요

Constructor

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

Properties

File.lastModified Read only
UNIX 탄생(1970년 1월 1일 0시 0분) 이후 파일의 최종 수정 시간을 밀리초 단위로 반환합니다.
File.lastModifiedDate Read only
File 객체가 참조하는 파일의 마지막으로 수정된 Date 를 반환합니다.
File.name Read only
File 객체에서 참조하는 파일의 이름을 반환합니다.
File.webkitRelativePath Read only
File 의 상대경로 URL path를 반환합니다.

File 이 Blob 을 구현하기 때문에 사용할 수 있는 다음과 같은 속성(property)도 있습니다:

File.size Read only
File의 사이즈를 바이트 단위로 반환합니다.
File.type Read only
File의  MIME 타입을 반환합니다.

Methods

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

Blob.slice([start[, end[, contentType]]])
소스가 되는 Blob 에서 지정한 바이트 범위 만큼의 데이터를 포함하는, 새로운 Blob 객체를 리턴합니다.

Specifications

Specification Status Comment
File API Working Draft Initial definition

Browser compatibility

Update compatibility data on GitHub
DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidEdge MobileFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
Basic supportChrome 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 YesEdge Mobile Full support YesFirefox Android Full support 7
Full support 7
No support 4 — 7
Notes
Notes Non-standard implementation.
Opera Android Full support 11.1Safari 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 YesEdge Mobile 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 Full support 10Opera Full support 16Safari No support NoWebView Android Full support YesChrome Android Full support YesEdge Mobile 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 YesEdge Mobile 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 YesEdge Mobile 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 YesEdge Mobile 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 No support NoFirefox 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
Edge Mobile No support NoFirefox 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.

Implementation notes

  • 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 메서드를 사용합니다.

See also

문서 태그 및 공헌자

이 페이지의 공헌자: DeadIntegral
최종 변경자: DeadIntegral,