chrome.fileSystem

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 edición 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

Solo en primer plano

Tipos

AcceptOption

Propiedades

  • descripción

    string opcional

    Esta 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").

  • extensiones

    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 mimeTypes o las extensiones debe contener al menos un elemento válido.

ChooseEntryOptions

Propiedades

  • acepta

    AcceptOption[] opcional

    Es la lista opcional de opciones de aceptación para este abridor 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 se admite para openFile y openWritableFile. Si se establece en verdadero, se llamará a la devolución de llamada a chooseEntry con una lista de entradas. De lo contrario, se llamará con un solo Entry.

  • suggestedName

    string opcional

    Es el nombre de archivo sugerido que se presentará al usuario como el nombre predeterminado para guardar. Este parámetro es opcional y solo se aplica a "saveFile".

  • tipo

    ChooseEntryType opcional

    Es el tipo de mensaje que se mostrará. El valor predeterminado es "openFile".

ChooseEntryType

Enum

"openFile"
Le solicita al usuario que abra un archivo existente y devuelve un FileEntry si se realiza correctamente. A partir de Chrome 31, se podrá escribir en FileEntry si la aplicación tiene el permiso "write" en "fileSystem"; de lo contrario, FileEntry será de solo lectura.

"openWritableFile"
Le solicita al usuario que abra un archivo existente y devuelve un FileEntry de escritura si 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"
Le solicita al usuario que abra un archivo existente o uno nuevo, y devuelve un FileEntry que se puede escribir si 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"
Le solicita al usuario que abra un directorio y devuelve un DirectoryEntry si 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 "write" en "fileSystem", se podrá escribir en el DirectoryEntry que se devuelva; de lo contrario, será de solo lectura. Novedades de Chrome 31.

RequestFileSystemOptions

Chrome 44 y versiones posteriores

Propiedades

  • volumeId

    string

    Es el ID del volumen solicitado.

  • admite escritura

    booleano opcional

    Indica si se debe poder escribir en el sistema de archivos solicitado. La configuración predeterminada es de solo lectura.

Volume

Chrome 44 y versiones posteriores

Propiedades

  • volumeId

    string

  • admite escritura

    booleano

VolumeListChangedEvent

Chrome 44 y versiones posteriores

Propiedades

Métodos

chooseEntry()

chrome.fileSystem.chooseEntry(
  options?: ChooseEntryOptions,
  callback: function,
)
: void

Pídele al usuario que elija un archivo o directorio.

Parámetros

  • opciones
  • 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()

Promise
chrome.fileSystem.getDisplayPath(
  entry: Entry,
  callback?: function,
)
: Promise<string>

Obtén la ruta de acceso de visualización de un objeto Entry. La ruta de acceso de visualización 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 posteriores

    Las promesas solo se admiten en Manifest V3 y versiones posteriores. Otras plataformas deben usar devoluciones de llamada.

getVolumeList()

Promise Chrome 44 y versiones posteriores
chrome.fileSystem.getVolumeList(
  callback?: function,
)
: Promise<Volume[] | undefined>

Devuelve una lista de los volúmenes disponibles para requestFileSystem(). Se requiere el permiso de manifiesto "fileSystem": {"requestFileSystem"}. Solo está disponible para las aplicaciones de kiosco que se ejecutan en la sesión de kiosco. En caso de que se produzca un error, volumes no se definirá y se establecerá chrome.runtime.lastError.

Parámetros

  • callback

    función opcional

    El parámetro callback se ve de la siguiente manera:

    (volumes?: Volume[]) => void

Muestra

  • Promise<Volume[] | undefined>

    Chrome 117 y versiones posteriores

    Las 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

Obtener una entrada de escritura a partir 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 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()

Promise
chrome.fileSystem.isRestorable(
  id: string,
  callback?: function,
)
: Promise<boolean>

Devuelve si la app tiene permiso para restablecer la entrada con el ID proporcionado.

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 posteriores

    Las promesas solo se admiten en Manifest V3 y versiones posteriores. Otras plataformas deben usar devoluciones de llamada.

isWritableEntry()

Promise
chrome.fileSystem.isWritableEntry(
  entry: Entry,
  callback?: function,
)
: Promise<boolean>

Obtiene si se puede escribir en esta entrada 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 posteriores

    Las promesas solo se admiten en Manifest V3 y versiones posteriores. Otras plataformas deben usar devoluciones de llamada.

requestFileSystem()

Promise Chrome 44 y versiones posteriores
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, se podrá escribir en el sistema de archivos. De lo contrario, será de solo lectura. La opción writable requiere el permiso "fileSystem": {"write"} en el manifiesto. Solo está disponible para las aplicaciones de kiosco que se ejecutan en una sesión de kiosco. En el modo kiosco de inicio manual, se mostrará un diálogo de confirmación sobre la ventana de la app activa. En caso de que se produzca un error, fileSystem no se definirá y se establecerá chrome.runtime.lastError.

Parámetros

  • 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 posteriores

    Las 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 proporcionado 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 cuentan como uso. Si la app tiene el permiso "retainEntries" en "fileSystem", las entradas se conservan de forma indefinida. De lo contrario, las entradas se conservan solo mientras se ejecuta la app y durante los reinicios.

Parámetros

  • entry.

    Entrada

Muestra

  • string

Eventos

onVolumeListChanged

Chrome 44 y versiones posteriores
chrome.fileSystem.onVolumeListChanged.addListener(
  callback: function,
)

Se llama cuando se cambia una lista de volúmenes disponibles.

Parámetros