Использование встроенной файловой системы браузера Edge removeEntry

#directory #microsoft-edge #native-file-system-api-js #file-system-access-api

#каталог #microsoft-edge #встроенная файловая система-api-js #доступ к файловой системе-api

Вопрос:

Я работаю с новейшей версией Edge (выпуск Canary 86.0.615.0), и я могу получить доступ к новому API встроенной файловой системы showOpenFilePicker, чтобы разрешить мне доступ к файлам, но я не могу найти ссылку на функции directoryHandle, включая функцию removeEntry, если пользователь решит удалить файл. Мне не хватает специального флага? У меня есть код отслеживания происхождения, и у меня также установлен флаг experimental для API собственной файловой системы.

Комментарии:

1. Вы могли бы обратиться к официальному документу о том, как использовать removeEntry() метод. При использовании этого метода необходимо выполнить несколько шагов . Я также нахожу типы TypeScript для спецификации , и это также включает FileSystemDirectoryHandle интерфейс, который, я думаю, может быть полезен.

Ответ №1:

Если у вас есть дескриптор каталога, вы можете удалять файлы или папки, как в примере ниже:

 // Delete a file.
await directoryHandle.removeEntry('Abandoned Projects.txt');
// Recursively delete a folder.
await directoryHandle.removeEntry('Old Stuff', { recursive: true });
  

Вы можете получить дескриптор каталога из средства выбора:

 const directoryHandle = await window.showDirectoryPicker();
  

Для перебора записей каталога вы можете использовать приведенный ниже фрагмент кода:

 for await (const entry of directoryHandle.values()) {
  console.log(entry.kind, entry.name);
}