Bestandsafhandeling op Chrome OS

Met bestandsverwerking kunt u ChromeOS zo configureren dat uw extensie bestanden kan openen via het menu 'Openen' in het bestandsmenu of via het menu 'Openen met' in het contextmenu. Eenmaal geopend, verwerkt u de gegevens van het bestand met behulp van de Launch Handler API van het webplatform. Vervolgens gebruikt u standaard API's van het webplatform om het bestand weer te geven of te verwerken .

Een bestandsbeheerder toegevoegd aan het 'Openen'-menu van ChromeOS.
Een bestandsbeheerder toegevoegd aan het 'Openen'-menu van ChromeOS.

Beschikbaarheid in extensies

ChromeOS 120 of later.

Toestemmingen

Voor het verwerken van bestanden zijn geen machtigingen vereist.

Manifest

Je moet de array "file_handlers" toevoegen aan het manifest.json-bestand.

Ondersteunende contexten

Deze API kan worden gebruikt in service workers van extensies, pop-ups, zijpanelen of contentscripts.

Een bestandshandler configureren

Elk lid van de "file_handlers" — oftewel elke bestandsverwerker — specificeert een of meer bestandstypen die door een specifieke extensiepagina moeten worden verwerkt.

De handlers die u opgeeft, worden toegevoegd aan het ChromeOS-bestandsvenster, met name aan de menu's 'Openen' en 'Openen met'. Ze verschijnen alleen in deze menu's wanneer de gebruiker een bestand met de opgegeven extensie selecteert. Als een bestandshandler bijvoorbeeld de extensie .txt heeft, wordt die handler alleen in de ChromeOS-menu's weergegeven wanneer een bestand met die extensie is geselecteerd.

Een bestand verwerken

De bestandshandler is een HTML-bestand dat zich in uw extensie bevindt. Wanneer de gebruiker uw handler selecteert in een menu, wordt het HTML-bestand in een nieuw tabblad geopend. De verwerking van het bestand, of u het nu weergeeft of op een andere manier gebruikt, gebeurt met JavaScript met behulp van de juiste API's van het webplatform. De verwerkingscode moet zich in een apart JavaScript-bestand bevinden en worden opgenomen via een <script> -tag. Dit bestand moet ook in uw extensie staan. Het scriptbestand gebruikt de LaunchQueue interface van de Launch Handler API om een FileSystemFileHandle object te verkrijgen.

Voorbeeld

Het volgende voorbeeld laat zien hoe u een FileSystemFileHandle object kunt verkrijgen met behulp van de LaunchQueue interface. Om bestandsverwerking in actie te zien, installeert u de File Handling Demo .

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