Descripción
Usa la API de chrome.fileSystem
para crear, leer, navegar y escribir en el sistema de archivos local del usuario. Con esta API, las apps de Chrome pueden leer y escribir en una ubicación seleccionada por el usuario. Por ejemplo, una app de editor de texto puede usar la API para leer y escribir documentos locales. Todas las fallas se notifican a través de chrome.runtime.lastError.
Permisos
fileSystem
Disponibilidad
Tipos
AcceptOption
Propiedades
-
descripción
cadena opcional
Es la descripción de texto opcional para esta opción. Si no está presente, se generará automáticamente una descripción que, por lo general, contendrá una lista expandida de extensiones válidas (p.ej., "text/html" puede expandirse a "*.html, *.htm").
-
extensions
string[] opcional
Extensiones que se aceptarán, p.ej., "jpg", "gif", "crx".
-
mimeTypes
string[] opcional
Son los tipos de MIME que se aceptarán, p.ej., "image/jpeg" o "audio/*". Uno de los campos mimeTypes o extensions debe contener al menos un elemento válido.
ChooseEntryOptions
Propiedades
-
Acepta
AcceptOption[] opcional
Es la lista opcional de opciones de aceptación para este selector de archivos. Cada opción se presentará como un grupo único para el usuario final.
-
acceptsAllTypes
booleano opcional
Indica si se deben aceptar todos los tipos de archivos, además de las opciones especificadas en el argumento accepts. El valor predeterminado es verdadero. Si el campo accepts no está configurado o no contiene entradas válidas, siempre se restablecerá como verdadero.
-
acceptsMultiple
booleano opcional
Indica si se aceptan varios archivos. Esto solo es compatible con openFile y openWritableFile. Si se establece como verdadero, se llamará a la devolución de llamada para chooseEntry con una lista de entradas. De lo contrario, se llamará con una sola entrada.
-
suggestedName
cadena opcional
Es el nombre de archivo sugerido que se presentará al usuario como el nombre predeterminado para leer o escribir. Esto es opcional.
-
tipo
ChooseEntryType opcional
Es el tipo de mensaje que se mostrará. El valor predeterminado es "openFile".
ChooseEntryType
Enum
"openFile"
Solicita al usuario que abra un archivo existente y devuelve un FileEntry si la operación se realiza correctamente. A partir de Chrome 31, el objeto FileEntry será de escritura si la aplicación tiene el permiso "write" en "fileSystem". De lo contrario, el objeto FileEntry será de solo lectura.
"openWritableFile"
Solicita al usuario que abra un archivo existente y devuelve un FileEntry grabable si la operación se realiza correctamente. Las llamadas que usen este tipo fallarán con un error de tiempo de ejecución si la aplicación no tiene el permiso de "escritura" en "fileSystem".
"saveFile"
Solicita al usuario que abra un archivo existente o uno nuevo, y devuelve un FileEntry grabable si la operación se realiza correctamente. Las llamadas que usen este tipo fallarán con un error de tiempo de ejecución si la aplicación no tiene el permiso de "escritura" en "fileSystem".
"openDirectory"
Solicita al usuario que abra un directorio y devuelve un DirectoryEntry si la operación se realiza correctamente. Las llamadas que usen este tipo fallarán con un error de tiempo de ejecución si la aplicación no tiene el permiso "directory" en "fileSystem". Si la aplicación tiene el permiso de "escritura" en "fileSystem", el objeto DirectoryEntry que se devuelve será de escritura; de lo contrario, será de solo lectura. Novedades de Chrome 31.
RequestFileSystemOptions
Propiedades
-
volumeId
string
ID del volumen solicitado.
-
admite escritura
booleano opcional
Indica si el sistema de archivos solicitado debe ser de escritura. El valor predeterminado es de solo lectura.
Volume
Propiedades
-
volumeId
string
-
admite escritura
booleano
VolumeListChangedEvent
Propiedades
-
volumes
Volume[]
Métodos
chooseEntry()
chrome.fileSystem.chooseEntry(
options?: ChooseEntryOptions,
callback: function,
): void
Pedirle al usuario que elija un archivo o directorio
Parámetros
-
opciones
ChooseEntryOptions opcional
-
callback
función
El parámetro
callback
se ve de la siguiente manera:(entry?: Entry, fileEntries?: FileEntry[]) => void
-
entry.
Entrada opcional
-
fileEntries
FileEntry[] opcional
-
getDisplayPath()
chrome.fileSystem.getDisplayPath(
entry: Entry,
callback?: function,
): Promise<string>
Obtén la ruta de acceso visible de un objeto Entry. La ruta de acceso que se muestra se basa en la ruta de acceso completa del archivo o directorio en el sistema de archivos local, pero puede hacerse más legible para fines de visualización.
Parámetros
-
entry.
Entrada
-
callback
función opcional
El parámetro
callback
se ve de la siguiente manera:(displayPath: string) => void
-
displayPath
string
-
Muestra
-
Promise<string>
Chrome 117 y versiones posterioresLas promesas solo se admiten en Manifest V3 y versiones posteriores. Otras plataformas deben usar devoluciones de llamada.
getVolumeList()
chrome.fileSystem.getVolumeList(
callback?: function,
): Promise<Volume[] | undefined>
Devuelve una lista de los volúmenes disponibles para requestFileSystem()
. Se requiere el permiso "fileSystem": {"requestFileSystem"}
del manifiesto. Solo está disponible para las apps de kiosco que se ejecutan en la sesión de kiosco. En caso de error, volumes
no estará definido y se establecerá chrome.runtime.lastError
.
Parámetros
Muestra
-
Promise<Volume[] | undefined>
Chrome 117 y versiones posterioresLas promesas solo se admiten en Manifest V3 y versiones posteriores. Otras plataformas deben usar devoluciones de llamada.
getWritableEntry()
chrome.fileSystem.getWritableEntry(
entry: Entry,
callback: function,
): void
Obtiene una entrada grabable de otra entrada. Esta llamada fallará con un error de tiempo de ejecución si la aplicación no tiene el permiso de "escritura" en "fileSystem". Si la entrada es un objeto DirectoryEntry, esta llamada fallará si la aplicación no tiene el permiso "directory" en "fileSystem".
Parámetros
-
entry.
Entrada
-
callback
función
El parámetro
callback
se ve de la siguiente manera:(entry: Entry) => void
-
entry.
Entrada
-
isRestorable()
chrome.fileSystem.isRestorable(
id: string,
callback?: function,
): Promise<boolean>
Devuelve un valor que indica si la app tiene permiso para restablecer la entrada con el ID determinado.
Parámetros
-
id
string
-
callback
función opcional
El parámetro
callback
se ve de la siguiente manera:(isRestorable: boolean) => void
-
isRestorable
booleano
-
Muestra
-
Promise<boolean>
Chrome 117 y versiones posterioresLas promesas solo se admiten en Manifest V3 y versiones posteriores. Otras plataformas deben usar devoluciones de llamada.
isWritableEntry()
chrome.fileSystem.isWritableEntry(
entry: Entry,
callback?: function,
): Promise<boolean>
Indica si esta entrada se puede escribir o no.
Parámetros
-
entry.
Entrada
-
callback
función opcional
El parámetro
callback
se ve de la siguiente manera:(isWritable: boolean) => void
-
isWritable
booleano
-
Muestra
-
Promise<boolean>
Chrome 117 y versiones posterioresLas promesas solo se admiten en Manifest V3 y versiones posteriores. Otras plataformas deben usar devoluciones de llamada.
requestFileSystem()
chrome.fileSystem.requestFileSystem(
options: RequestFileSystemOptions,
callback?: function,
): Promise<FileSystem | undefined>
Solicita acceso a un sistema de archivos para un volumen representado por options.volumeId
. Si options.writable
se establece como verdadero, el sistema de archivos será de escritura. De lo contrario, será de solo lectura. La opción writable
requiere el permiso "fileSystem": {"write"}
en el manifiesto. Solo está disponible para las apps de kiosco que se ejecutan en sesiones de kiosco. En el modo de kiosco de inicio manual, se mostrará un diálogo de confirmación sobre la ventana de la app activa. En caso de error, fileSystem
no estará definido y se establecerá chrome.runtime.lastError
.
Parámetros
-
opciones
-
callback
función opcional
El parámetro
callback
se ve de la siguiente manera:(fileSystem?: FileSystem) => void
-
fileSystem
FileSystem opcional
-
Muestra
-
Promise<FileSystem | undefined>
Chrome 117 y versiones posterioresLas promesas solo se admiten en Manifest V3 y versiones posteriores. Otras plataformas deben usar devoluciones de llamada.
restoreEntry()
chrome.fileSystem.restoreEntry(
id: string,
callback: function,
): void
Devuelve la entrada de archivo con el ID determinado si se puede restablecer. De lo contrario, esta llamada fallará con un error de tiempo de ejecución.
Parámetros
-
id
string
-
callback
función
El parámetro
callback
se ve de la siguiente manera:(entry: Entry) => void
-
entry.
Entrada
-
retainEntry()
chrome.fileSystem.retainEntry(
entry: Entry,
): string
Devuelve un ID que se puede pasar a restoreEntry para recuperar el acceso a una entrada de archivo determinada. Solo se conservan las 500 entradas usadas más recientemente, en las que las llamadas a retainEntry y restoreEntry se consideran como uso. Si la app tiene el permiso "retainEntries" en "fileSystem", las entradas se retienen de forma indefinida. De lo contrario, las entradas se conservan solo mientras la app se ejecuta y entre reinicios.
Parámetros
-
entry.
Entrada
Muestra
-
string
Eventos
onVolumeListChanged
chrome.fileSystem.onVolumeListChanged.addListener(
callback: function,
)
Se llama cuando cambia una lista de volúmenes disponibles.
Parámetros
-
callback
función
El parámetro
callback
se ve de la siguiente manera:(event: VolumeListChangedEvent) => void
-
evento
-