Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

362
Visualizações
¿Cómo se obtiene showDirectoryPicker(); de File System Access Api para no pedir permiso incluso cuando almacena dirHandle en IndexDB

Cuando llamas a showDirectoryPicker(); obtienes un selector de directorio. Después de seleccionar un directorio, Chrome le pedirá permiso para ver los archivos en esa carpeta.

Código de ejemplo:

 let dirHandle = showDirectoryPicker();

El código anterior solicitará permisos cada vez que elija una carpeta, incluso si ya le ha dado acceso.

Debería poder almacenar dirHandle en indexDB para que, si un usuario ya ha dado permiso, no vuelva a solicitar permisos si usa el identificador ya guardado de indexDB y elige una carpeta a la que ya le ha otorgado permisos.

El problema es que estoy guardando y recuperando el dirHandle a/desde indexDb, pero aún solicita permiso en las carpetas a las que ya he dado permiso.

Código que pensé que debería funcionar: Nota: get y set son solo abreviaturas para guardar y cargar en indexDb

 asyn function (){ let dirHandle = await get("directory"); dirHandle = await window.showDirectoryPicker(); await set("directory", dirHandle); }

Entonces, en el código anterior, recupero dirHand de indexDb y luego lo configuro en dirHand = window.ShowDirectoryPicker . Aparecerá una ventana pidiéndole que seleccione una carpeta. Si selecciono una carpeta a la que ya le he otorgado permisos, no debería volver a solicitarlos, incluso después de actualizar la página. Funciona bien si no actualiza la página.

Estoy bastante seguro de que esto debería funcionar como se ve en este proyecto de ejemplo https://github.com/GoogleChromeLabs/text-editor/

Este proyecto es de este buen artículo que explica cómo lograr estos resultados, pero obviamente no me funciona. Consulte el artículo https://web.dev/file-system-access .

Puede probar en vivo su editor de texto demostrando que no se le pedirán permisos de una carpeta previamente otorgada, incluso después de actualizar la página. Ver demostración en vivo https://googlechromelabs.github.io/text-editor/

Ejemplo, vaya a Archivo > Abrir y elija un archivo. Si es la primera vez que abre un archivo en esta carpeta, le pedirá permisos para ver los archivos. Ahora actualice la página e intente abrir el mismo archivo. No volverá a solicitar la terminación previa y puede guardar el archivo. Le pedirá permisos la primera vez que guarde un archivo, pero no en llamadas posteriores. He mirado su código y no puedo entender qué estoy haciendo mal. Cualquier ayuda es muy apreciada. TY

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Chrome siempre solicita permiso, incluso para identificadores de archivos persistentes en IndexedDB:

El aviso inicial:

ingrese la descripción de la imagen aquí

El aviso después de volver a abrir un archivo desde un identificador de archivo persistente:

ingrese la descripción de la imagen aquí

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda