Sistema de Ficheiros

This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

A interface da "API de Entradas de Diretorias e Ficheiros" é usada para representar um sistema de ficheiros. Estes objetos podem ser obtidos a partir da propriedade filesystem em qualquer entrada do sistema de ficheiros. Alguns navegadores oferecem APIs adicionais para criar e gerir sistemas de ficheiros, por exemplo o método requestFileSystem() encontrado no Chrome.

Esta interface não dá acesso ao filesystem do utilizador. Em vez disso, terá uma "drive virtual" dentro da sandbox do navegador. Se quiser ter acesso ao sistema de ficheiros dos utilizadores, necessita de invocar o utilizador.

Conceitos básicos

Existem duas formas para aceder ao objeto FileSystem:

  1. Pode pedir por um dentro duma sandbox para só a sua app ao chamar window.requestFileSystem(). Se a chamada tiver sucesso, é executada uma callback handler, que recebe como parâmetro um objeto FileSystem que descreve o sistema de ficheiros.
  2. Pode o pedir através duma entrada no sistema de ficheiros, com a propriadade filesystem.

Atributos

FileSystem.name Read only
Uma USVString que representa o nome do sistema de ficheiros. Este nome é único na lista de sistemas de ficheiros exposta.
FileSystem.root Read only
Um objeto de FileSystemDirectoryEntry que representa a diretoria raiz do sistema de ficheiros. Através deste objeto, pode ganhar acesso a todos os ficheiros e diretorias no sistema.

Compatibilidade

Update compatibility data on GitHub
DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
FileSystemChrome Full support 7
Alternate Name
Full support 7
Alternate Name
Alternate Name Uses the non-standard name: DOMFileSystem
Edge Full support ≤18
Prefixed Notes
Full support ≤18
Prefixed Notes
Prefixed Implemented with the vendor prefix: WebKit
Notes Edge only supports this API in drag-and-drop scenarios using the the DataTransferItem.webkitGetAsEntry() method. It's not available for use in file or folder picker panels (such as when you use an <input> element with the HTMLInputElement.webkitdirectory attribute.
Firefox Full support 50IE No support NoOpera Full support 15
Prefixed
Full support 15
Prefixed
Prefixed Implemented with the vendor prefix: webkit
Safari Full support 11.1WebView Android Full support ≤37
Alternate Name
Full support ≤37
Alternate Name
Alternate Name Uses the non-standard name: DOMFileSystem
Chrome Android Full support 18
Alternate Name
Full support 18
Alternate Name
Alternate Name Uses the non-standard name: DOMFileSystem
Firefox Android Full support 50Opera Android Full support 14
Prefixed
Full support 14
Prefixed
Prefixed Implemented with the vendor prefix: webkit
Safari iOS Full support 11.3Samsung Internet Android Full support 1.0
Prefixed
Full support 1.0
Prefixed
Prefixed Implemented with the vendor prefix: webkit
nameChrome Full support 7Edge Full support ≤18Firefox Full support 50IE No support NoOpera Full support 15Safari Full support 11.1WebView Android Full support ≤37Chrome Android Full support 18Firefox Android Full support 50Opera Android Full support 14Safari iOS Full support 11.3Samsung Internet Android Full support 1.0
rootChrome Full support 7Edge Full support ≤18Firefox Full support 50IE No support NoOpera Full support 15Safari Full support 11.1WebView Android Full support ≤37Chrome Android Full support 18Firefox Android Full support 50Opera Android Full support 14Safari iOS Full support 11.3Samsung Internet Android Full support 1.0

Legend

Full support  
Full support
No support  
No support
See implementation notes.
See implementation notes.
Uses a non-standard name.
Uses a non-standard name.
Requires a vendor prefix or different name for use.
Requires a vendor prefix or different name for use.

Ver também