#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);
}