Javascript:列出文件和文件夹结构

Javascript: Listing File and Folder Structure

本文关键字:文件夹 结构 文件 Javascript      更新时间:2023-09-26

正如我所读到的,JavaScript 在客户端 PC 上修改文件并不容易。我正在使用基于Web的文件管理器,需要了解以下内容:

  • JavaScript 可以在客户端 PC 上列出文件和文件夹结构吗?
  • JavaScript 可以列出服务器上的文件和文件夹结构吗?

如果你的答案是否定的,Java Scipt不能列出客户端或服务器的C:''上的文件和文件夹。驱动器,而不是CGI脚本是唯一的解决方案?

浏览器 JS 读取客户端 PC 的文件:取决于

出于安全原因,未经用户同意,你无法访问用户电脑上的文件。

这就是为什么FileReader API是围绕文件输入框<input type="file">和拖放区域创建的,因为整个想法是"在用户同意的情况下访问文件"。如果用户没有故意放置文件进行访问,则根本无法访问它。

服务器

端JS读取自己服务器的文件:是

至于服务器,如果你的意思是使用server-JS(NodeJS或Rhino)访问服务器,是的,你可以(无论如何,它如何为网页提供服务?

浏览器JS读取自己服务器的文件:取决于

如果您有一个 API 从中读取文件,则使用 JS 从浏览器访问服务器是有效的。

浏览器JS读取其他服务器的文件:是的,有一个捕获

要在没有某些 API 的情况下访问其他服务器的文件,您可以求助于创建运行服务器端的网络爬虫或网络蜘蛛(因为浏览器由于同源策略而无法跨域)并让 API 暴露给您的浏览器。

然而:

  • 您无法爬网访问所有文件,因为某些文件可能会被限制为外部访问。
  • 结构
  • 的公开外观可能与内部结构不同,特别是如果网站使用分段 URL 方案
  • 使用查询字符串生成页面的网站由于可能进行的排列数量众多而无法轻松抓取,因此某些页面可能无法访问。

CGI也不是一个解决方案,因为它只能访问服务器的文件系统,而不能访问访问您站点的客户端的文件系统。从javascript访问客户端文件系统的唯一方法似乎是File API,这显然不是由许多浏览器实现的。

这是一个难题,但你可以求助于java小程序或可怕的active-x控件。