Gestione dei file su ChromeOS

La gestione dei file ti 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 aperto il file, elabora i dati utilizzando l'API Launch Handler della piattaforma web. Successivamente, 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 necessarie autorizzazioni per la gestione dei file.

Manifest

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

Contesti di supporto

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

Configurare un gestore di file

Ogni membro di "file_handlers", cioè 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 nello specifico ai menu Apri e Apri con. Verranno 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 tuo 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 altri modi, viene eseguita con JavaScript utilizzando le API della piattaforma web appropriate. Il codice di elaborazione deve essere in un file JavaScript distinto, incluso tramite un tag <script> e anche nell'estensione. Il file di script utilizza l'interfaccia LaunchQueue dell'API Launch Handler per ottenere un oggetto FileSystemFileHandle.

Esempio

L'esempio seguente mostra come ottenere un oggetto FileSystemFileHandle utilizzando l'interfaccia LaunchQueue. Per vedere la gestione dei file in azione, 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];
  });
}
``````