Доступ ко всем файлам в данной папке (API доступа к файловой системе)

Могу ли я использовать API доступа к файловой системе (https://web.dev/file-system-access/) для создания чего-то вроде проводника файлов на веб-сайте (реагировать).

Я планирую сделать простой онлайн-файловый менеджер, который позволит вам открывать папку, а затем просматривать ее, воспроизводить видео и MP3.

(Я знаю, что это было невозможно несколько лет назад, потому что js не мог получить доступ к чему-либо в локальном хранилище, я просто хотел знать, изменилось ли что-нибудь или нет. Если API доступа к файловой системе - это не выход , можете ли вы предложить лучший способ чтения большого количества локальных файлов из папки.)

2 ответа

Решение

На будущее я публикую свои работы; https://github.com/akshayknz/filesystem-access-api/blob/main/file.html (html-страница, на которой отображаются все изображения из выбранной папки.)

Примечание. API работает только в безопасных контекстах (т.е. работает в https: // и file: ///).

      [fileHandle] = await window.showOpenFilePicker();
const file = await fileHandle.getFile();
const contents = await file.text();

или же

      const dirHandle = await window.showDirectoryPicker();
const fileHandle = await dirHandle.getFileHandle(entry.name, {});
const file = await fileHandle.getFile();

Это возможно с помощью API доступа к файловой системе сегодня:

      const dirHandle = await window.showDirectoryPicker();
for await (const entry of dirHandle.values()) {
  console.log(entry.kind, entry.name);
}

Вы можете изучить структуру папок, углубившись, если entry.kind это каталог.

Другие вопросы по тегам