El manejo de archivos te permite configurar ChromeOS para que tu extensión pueda abrir archivos con el menú Abrir del menú de archivos o el menú Abrir con del menú contextual. Una vez que se abre, procesas los datos del archivo con la API de Launch Handler de la plataforma web. Luego, usarás las APIs estándar de la plataforma web para mostrar o controlar el archivo.
Disponibilidad en extensiones
ChromeOS 120 o versiones posteriores
Permisos
No se requieren permisos para el manejo de archivos.
Manifiesto
Debes agregar el "file_handlers" array al archivo manifest.json.
Contextos compatibles
Esta API se puede usar en service workers de extensiones, ventanas emergentes, paneles laterales o secuencias de comandos de contenido.
Configura un controlador de archivos
Cada miembro de la "file_handlers" (es decir, cada controlador de archivos) especifica un tipo o tipos de archivos que debe controlar una página de extensión específica.
Los controladores que especifiques se agregarán a la ventana Archivos de ChromeOS, específicamente a los menús Abrir y Abrir con. Solo aparecerán en estos menús cuando el usuario seleccione un archivo con la extensión específica. Por ejemplo, si un controlador de archivos especifica .txt, los menús de ChromeOS solo mostrarán ese controlador cuando se seleccione un archivo con esa extensión.
Procesa un archivo
El controlador de archivos es un archivo HTML que se encuentra dentro de tu extensión. Cuando el usuario selecciona tu controlador en un menú, el archivo HTML se abre en una pestaña nueva. El procesamiento del archivo, ya sea que lo muestres o lo uses de alguna otra manera, se realiza con JavaScript mediante las APIs adecuadas de la plataforma web. El código de procesamiento debe estar en un archivo JavaScript independiente y debe incluirse a través de una etiqueta <script> y también debe estar en tu extensión. El archivo de secuencia de comandos usa la LaunchQueue interfaz de la API de Launch Handler para obtener un FileSystemFileHandle objeto.
Ejemplo
En el siguiente ejemplo, se muestra cómo obtener un objeto FileSystemFileHandle con la interfaz LaunchQueue. Para ver el manejo de archivos en acción, instala la demostración de manejo de archivos.
if ('launchQueue' in window) {
launchQueue.setConsumer(async launchParams => {
if (!launchParams.files || !launchParams.files.length) { return; }
const fileHandle = launchParams.files[0];
});
}
``````