En una aplicación web en la que estoy trabajando, me gustaría poder descargar archivos, modificarlos localmente y volver a cargarlos en el servidor.
Para que sea lo más fácil posible para los usuarios, me gustaría que elijan la ubicación de descarga y usen un solo botón para cargar los cambios después.
Mi apporach actual es el siguiente:
window.showSaveFilePicker para elegir la ubicación y obtener un FileSystemFileHandleFileSystemFileHandleFileSystemFileHandle#getFile para obtener el contenido modificado. Este enfoque funciona bastante bien, pero el usuario tiene que buscar y abrir manualmente el archivo después de la descarga y me gustaría apoyarlo en este paso y hacerlo lo más simple posible.
Idealmente, el archivo debería abrirse automáticamente con la aplicación predeterminada después de la descarga, pero no pude encontrar la manera de hacerlo.
Una idea era abrir el archivo en una nueva pestaña usando file:// -URL, lo que permite que el navegador decida qué hacer, pero FileSystemFileHandle no parece exponer la ruta absoluta.
¿Hay alguna forma de abrir el archivo descargado con la aplicación predeterminada? Si no, ¿qué otras posibilidades hay para hacer que el caso de uso mencionado sea lo más simple posible?
Gracias por adelantado
EDITAR: descubrí que puede abrir ciertas aplicaciones usando direcciones URL especiales como ms-excel:ofe|u|file://path/to/file.xls . Esto sería suficiente para la mayoría de los casos de uso, pero para que esto funcione, necesitaría obtener la URL del archivo de un FileSystemFileHandle .
Por razones de seguridad, no hay forma de que una aplicación web abra aplicaciones locales. Sin embargo, en el futuro, una vez que se implementen los eventos de cambio de archivo , puede esperar los cambios en el archivo y luego volver a abrirlo. Esto debería resolver su caso de uso.