chrome.fileSystem

Descrizione

Utilizza l'API chrome.fileSystem per creare, leggere, navigare e scrivere nel file system locale dell'utente. Con questa API, le app Chrome possono leggere e scrivere in una posizione selezionata dall'utente. Ad esempio, un'app di editor di testo può utilizzare l'API per leggere e scrivere documenti locali. Tutti gli errori vengono notificati tramite chrome.runtime.lastError.

Autorizzazioni

fileSystem

Disponibilità

Solo in primo piano

Tipi

AcceptOption

Proprietà

  • descrizione

    stringa facoltativa

    Questa è la descrizione di testo facoltativa per questa opzione. Se non è presente, verrà generata automaticamente una descrizione, che in genere contiene un elenco esteso di estensioni valide (ad esempio, "text/html" potrebbe espandersi in "*.html, *.htm").

  • estensioni

    string[] facoltativo

    Estensioni da accettare, ad es. "jpg", "gif", "crx".

  • mimeTypes

    string[] facoltativo

    Tipi MIME da accettare, ad es. "image/jpeg" o "audio/*". Uno tra mimeTypes o extensions deve contenere almeno un elemento valido.

ChooseEntryOptions

Proprietà

  • accetta

    AcceptOption[] facoltativo

    L'elenco facoltativo delle opzioni di accettazione per questo programma di apertura dei file. Ogni opzione verrà presentata all'utente finale come un gruppo univoco.

  • acceptsAllTypes

    booleano facoltativo

    Indica se accettare tutti i tipi di file, oltre alle opzioni specificate nell'argomento accepts. Il valore predefinito è true. Se il campo accepts non è impostato o non contiene voci valide, questo valore verrà sempre reimpostato su true.

  • acceptsMultiple

    booleano facoltativo

    Se accettare più file. Questa funzionalità è supportata solo per openFile e openWritableFile. Se questo valore è impostato su true, la funzione di callback to chooseEntry verrà chiamata con un elenco di voci. In caso contrario, verrà chiamato con una singola voce.

  • suggestedName

    stringa facoltativa

    Il nome file suggerito che verrà presentato all'utente come nome predefinito da leggere o scrivere. Questa opzione è facoltativa.

  • tipo

    ChooseEntryType facoltativo

    Tipo di richiesta da mostrare. Il valore predefinito è "openFile".

ChooseEntryType

Enum

"openFile"
Chiede all'utente di aprire un file esistente e restituisce un FileEntry in caso di esito positivo. A partire da Chrome 31, FileEntry sarà scrivibile se l'applicazione dispone dell'autorizzazione "write" in "fileSystem"; in caso contrario, FileEntry sarà di sola lettura.

"openWritableFile"
Chiede all'utente di aprire un file esistente e restituisce un FileEntry scrivibile in caso di esito positivo. Le chiamate che utilizzano questo tipo non andranno a buon fine e verrà visualizzato un errore di runtime se l'applicazione non dispone dell'autorizzazione "Scrittura" in "fileSystem".

"saveFile"
Chiede all'utente di aprire un file esistente o un nuovo file e restituisce un FileEntry scrivibile in caso di esito positivo. Le chiamate che utilizzano questo tipo non andranno a buon fine e verrà visualizzato un errore di runtime se l'applicazione non dispone dell'autorizzazione "Scrittura" in "fileSystem".

"openDirectory"
Chiede all'utente di aprire una directory e restituisce un DirectoryEntry in caso di esito positivo. Le chiamate che utilizzano questo tipo non andranno a buon fine e verrà visualizzato un errore di runtime se l'applicazione non dispone dell'autorizzazione "directory" in "fileSystem". Se l'applicazione dispone dell'autorizzazione "Scrittura" in "fileSystem", la DirectoryEntry restituita sarà scrivibile; in caso contrario, sarà di sola lettura. Novità di Chrome 31.

RequestFileSystemOptions

Chrome 44+

Proprietà

  • volumeId

    stringa

    L'ID del volume richiesto.

  • scrivibile

    booleano facoltativo

    Indica se il file system richiesto deve essere scrivibile. Il valore predefinito è di sola lettura.

Volume

Chrome 44+

Proprietà

  • volumeId

    stringa

  • scrivibile

    booleano

VolumeListChangedEvent

Chrome 44+

Proprietà

Metodi

chooseEntry()

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

Chiedi all'utente di scegliere un file o una directory.

Parametri

  • opzioni

    ChooseEntryOptions facoltativo

  • callback

    funzione

    Il parametro callback ha il seguente aspetto:

    (entry?: Entry, fileEntries?: FileEntry[]) => void

    • entry

      Voce facoltativo

    • fileEntries

      FileEntry[] facoltativo

getDisplayPath()

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

Recupera il percorso di visualizzazione di un oggetto Entry. Il percorso di visualizzazione si basa sul percorso completo del file o della directory nel file system locale, ma può essere reso più leggibile a scopo di visualizzazione.

Parametri

  • entry

    Voce

  • callback

    funzione facoltativa

    Il parametro callback ha il seguente aspetto:

    (displayPath: string) => void

    • displayPath

      stringa

Resi

  • Promise<string>

    Chrome 117+

    Le promesse sono supportate solo per Manifest V3 e versioni successive, le altre piattaforme devono utilizzare i callback.

getVolumeList()

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

Restituisce un elenco dei volumi disponibili per requestFileSystem(). È necessaria l'autorizzazione manifest "fileSystem": {"requestFileSystem"}. Disponibile solo per le app kiosk in esecuzione nella sessione kiosk. In caso di errore, volumes non sarà definito e chrome.runtime.lastError verrà impostato.

Parametri

  • callback

    funzione facoltativa

    Il parametro callback ha il seguente aspetto:

    (volumes?: Volume[]) => void

    • volumi

      Volume[] facoltativo

Resi

  • Promise<Volume[] | undefined>

    Chrome 117+

    Le promesse sono supportate solo per Manifest V3 e versioni successive, le altre piattaforme devono utilizzare i callback.

getWritableEntry()

chrome.fileSystem.getWritableEntry(
  entry: Entry,
  callback: function,
)
: void

Ottieni una voce scrivibile da un'altra voce. Questa chiamata non andrà a buon fine e verrà generato un errore di runtime se l'applicazione non dispone dell'autorizzazione "Scrittura" in "fileSystem". Se la voce è un DirectoryEntry, questa chiamata non andrà a buon fine se l'applicazione non dispone dell'autorizzazione "directory" in "fileSystem".

Parametri

  • entry

    Voce

  • callback

    funzione

    Il parametro callback ha il seguente aspetto:

    (entry: Entry) => void

    • entry

      Voce

isRestorable()

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

Restituisce un valore che indica se l'app ha l'autorizzazione per ripristinare la voce con l'ID specificato.

Parametri

  • id

    stringa

  • callback

    funzione facoltativa

    Il parametro callback ha il seguente aspetto:

    (isRestorable: boolean) => void

    • isRestorable

      booleano

Resi

  • Promise<boolean>

    Chrome 117+

    Le promesse sono supportate solo per Manifest V3 e versioni successive, le altre piattaforme devono utilizzare i callback.

isWritableEntry()

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

Indica se questa voce è scrivibile o meno.

Parametri

  • entry

    Voce

  • callback

    funzione facoltativa

    Il parametro callback ha il seguente aspetto:

    (isWritable: boolean) => void

    • isWritable

      booleano

Resi

  • Promise<boolean>

    Chrome 117+

    Le promesse sono supportate solo per Manifest V3 e versioni successive, le altre piattaforme devono utilizzare i callback.

requestFileSystem()

Promise Chrome 44+
chrome.fileSystem.requestFileSystem(
  options: RequestFileSystemOptions,
  callback?: function,
)
: Promise<FileSystem | undefined>

Richiede l'accesso a un file system per un volume rappresentato da options.volumeId. Se options.writable è impostato su true, il file system sarà scrivibile. In caso contrario, sarà di sola lettura. L'opzione writable richiede l'autorizzazione "fileSystem": {"write"} nel manifest. Disponibile solo per le app kiosk in esecuzione nella sessione kiosk. Per la modalità Kiosk con avvio manuale, viene visualizzata una finestra di dialogo di conferma sopra la finestra dell'app attiva. In caso di errore, fileSystem non sarà definito e chrome.runtime.lastError verrà impostato.

Parametri

  • callback

    funzione facoltativa

    Il parametro callback ha il seguente aspetto:

    (fileSystem?: FileSystem) => void

    • fileSystem

      FileSystem (facoltativo)

Resi

  • Promise<FileSystem | undefined>

    Chrome 117+

    Le promesse sono supportate solo per Manifest V3 e versioni successive, le altre piattaforme devono utilizzare i callback.

restoreEntry()

chrome.fileSystem.restoreEntry(
  id: string,
  callback: function,
)
: void

Restituisce la voce di file con l'ID specificato se può essere ripristinata. In caso contrario, la chiamata non riuscirà e verrà restituito un errore di runtime.

Parametri

  • id

    stringa

  • callback

    funzione

    Il parametro callback ha il seguente aspetto:

    (entry: Entry) => void

    • entry

      Voce

retainEntry()

chrome.fileSystem.retainEntry(
  entry: Entry,
)
: string

Restituisce un ID che può essere passato a restoreEntry per riavere accesso a una determinata voce di file. Vengono conservate solo le 500 voci utilizzate più di recente, dove le chiamate a retainEntry e restoreEntry vengono conteggiate come utilizzo. Se l'app dispone dell'autorizzazione "retainEntries" nella sezione "fileSystem", le voci vengono conservate per un periodo di tempo indefinito. In caso contrario, le voci vengono conservate solo durante l'esecuzione dell'app e durante i riavvii.

Parametri

  • entry

    Voce

Resi

  • stringa

Eventi

onVolumeListChanged

Chrome 44+
chrome.fileSystem.onVolumeListChanged.addListener(
  callback: function,
)

Chiamato quando viene modificato un elenco di volumi disponibili.

Parametri