Доступ ко всем файлам в данной папке (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
это каталог.