javascript获取本地目录中的文件列表?

javascript怎么获取本地目录中的文件列表?

阅读 2.9k
5 个回答

主动获取是不行的,最多只能使用input加上webkitdirectory属性就可以让用户选择文件夹,虽然属性写的是webkit但是firefox也是支持的

webkitdirectory 非标准
布尔属性 webkitdirectory 如果存在,表示在文件选取界面中,只有目录可供用户选择。参见 HTMLInputElement.webkitdirectory 以了解更多细节和例子。
虽然最初只为基于 WebKit 的浏览器实现,但 webkitdirectory 也可以在 Microsoft Edge 以及 Firefox 50 和更高版本中使用。然而,尽管它有相对广泛的支持,它仍然不是标准的,除非你没有其他选择,否则不应该使用。—— MDN

如果是NodeJS环境下的话,可以使用 fs 模块来获取本地目录中的文件列表。 👉 File system | Node.js v20.1.0 Documentation
如果是浏览器环境下的话,因为隐私及安全性限制,无法获取任何真实的本地目录。

node环境下 可以通过fs读取
除此之外 好像没有办法获得文件路径

<input type="file" webkitdirectory>

添加 webkitdirectory 可以选择文件夹

每个文件都有一个 webkitRelativePath 属性,这个属性会包含文件层级,如

  • 测试1/1.xlsx
  • 测试1/测试2/2.xlsx

需要服务端比如nodejs或者其他服务端语言的支持,纯JavaScript是无法读取系统层面的文件目录的。

这是因为JavaScript是运行在浏览器中。

  • 如果你通过nodejs来运行JavaScript,那么可以通过 fs 模块。
  • 如果通过其他服务端语言,那你可以通过他们提供的api接口来获取文件列表。
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题