Gestione dei file su ChromeOS

La gestione file consente di configurare ChromeOS in modo che l'estensione possa aprire i file utilizzando il menu Apri del menu File o il menu Apri con del menu contestuale. Una volta aperta l'app, elaborerai i dati del file utilizzando l'API Launch Gestori della piattaforma web. Quindi, utilizzerai le API della piattaforma web standard per visualizzare o gestire il file.

Un gestore di file aggiunto al menu Apri di ChromeOS.
Un gestore di file aggiunto al menu Apri di ChromeOS.

Disponibilità nelle estensioni

ChromeOS 120 o versioni successive.

Autorizzazioni

Non sono richieste autorizzazioni per la gestione di file.

Manifest

Devi aggiungere l'array "file_handlers" al file manifest.json.

Contesti di supporto

Questa API può essere utilizzata in service worker di estensioni, popup, riquadri laterali o script di contenuti.

Configurare un gestore di file

Ciascun membro dell'"file_handlers", ovvero ogni gestore di file, specifica uno o più tipi di file che devono essere gestiti da una pagina di estensione specifica.

I gestori specificati verranno aggiunti alla finestra File di ChromeOS e specificamente ai menu Apri e Apri con. Vengono visualizzati in questi menu solo quando l'utente seleziona un file con l'estensione specifica. Ad esempio, se un gestore di file specifica .txt, i menu di ChromeOS mostrano quel gestore solo quando viene selezionato un file con quell'estensione.

Elaborare un file

Il gestore di file è un file HTML contenuto all'interno dell'estensione. Quando l'utente seleziona il gestore da un menu, il file HTML si apre in una nuova scheda. L'elaborazione del file, indipendentemente dal fatto che venga visualizzato o utilizzato in qualche altro modo, viene eseguita con JavaScript e utilizzando le API della piattaforma web appropriate. Il codice di elaborazione deve essere in un file JavaScript separato, incluso tramite un tag <script> e deve essere anch'esso nell'estensione. Il file di script utilizza l'interfaccia LaunchQueue dell'API Launch Gestori per ottenere un oggetto FileSystemFileHandle.

Esempio

L'esempio seguente mostra come ottenere un oggetto FileSystemFileHandle utilizzando l'interfaccia LaunchQueue. Per vedere come funziona la gestione dei file, installa la demo per la gestione dei file.

if ('launchQueue' in window) {
  launchQueue.setConsumer(async launchParams => {
    if (!launchParams.files || !launchParams.files.length) { return; }
    const fileHandle = launchParams.files[0];
  });
}
``````