问题描述
我可以使用文件系统访问 API (https://web.dev/file-system-access/) 在网站内创建类似文件浏览器的东西吗 (react)。
我计划制作一个简单的在线文件浏览器,让您浏览打开一个文件夹,然后浏览该文件夹,播放视频和 MP3。
(我知道几年前这是不可能的,因为 js 无法访问本地存储中的任何内容,我只是想知道是否有任何更改。如果文件系统访问 API 不是顺便说一句,您能否提出一些更好的方法来从文件夹中读取大量本地文件。)
解决方法
现在可以通过文件系统访问 API 实现这一点:
const dirHandle = await window.showDirectoryPicker();
for await (const entry of dirHandle.values()) {
console.log(entry.kind,entry.name);
}
如果 entry.kind
是一个目录,您可以更深入地探索文件夹结构。
为了将来参考,我发布了我的作品; https://github.com/akshayknz/filesystem-access-api/blob/main/file.html(显示所选文件夹中所有图像的 html 页面。)
注意:API 仅适用于安全上下文(即适用于 https:// 和 file:///)
ProjectManager(std::string& id,std::string& name,std::string& programming_language,std::string& tool) :
Employee(id,name),Programmer("","",programming_language),Tester("",tool)
{}
或
[fileHandle] = await window.showOpenFilePicker();
const file = await fileHandle.getFile();
const contents = await file.text();