【问题标题】:List files in a directory using only javascript仅使用 javascript 列出目录中的文件
【发布时间】:2010-05-27 21:06:47
【问题描述】:

是否可以仅使用 javascript 列出目录中的文件?为了澄清,我的意思是列出服务器上的文件,而不是客户端计算机上的文件。例如:

www.domain.com/files/

包含 4 张图片 (.jpg)

我可以制作一个额外的页面 (www.domain.com/files/list.html) 使用 javascript 列出这 4 个文件吗?

【问题讨论】:

  • 这是可能的,但是你不能以跨浏览器的方式访问用户的文件系统,即使在支持它的浏览器中也不能没有用户明确同意(通过一个非常突兀的对话框) .最好澄清一下,这是您所追求的,以确保您得到的答案会有所帮助
  • 澄清一下,我的意思是列出服务器上的文件,而不是客户端计算机上的文件。例如:www.domain.com/files/ 包含 4 张图片 (.jpg) 我可以制作一个额外的页面 (www.domain.com/files/list.html) 使用 javascript 列出这 4 个文件吗?
  • 现在是 2018 年,我很确定 JS 可以列出给定 url 的文件。有人对这个问题有好的答案吗?

标签: javascript


【解决方案1】:

参加这个聚会很晚,但我在谷歌上搜索这个确切的请求把我带到了这里。

答案是“不是真的”,但我在其他地方发现了 hack 的科学怪人:如果在 .htaccess 中为包含您要列出的文件的文件夹启用(或可以)+Indexes,则使用 XMLHTTPRequest以文件夹名称作为 url(这将返回一个列出文件的 html 页面)。

【讨论】:

    【解决方案2】:

    不,Javascript 无权访问文件系统。 Server side Javascript 是一个完全不同的故事,但我猜你不是那个意思。

    【讨论】:

    • 澄清一下,我的意思是列出服务器上的文件,而不是客户端计算机上的文件。例如:www.domain.com/files/ 包含 4 张图片 (.jpg) 我可以制作一个额外的页面 (www.domain.com/files/list.html) 使用 javascript 列出这 4 个文件吗?
    【解决方案3】:

    我不知道您的架构是否允许它,但是 ikf 您可以安装和使用 node.js,正如其 node API 提到的那样,您可以通过要求 fs 模块与文件系统进行交互。

    这是 Node.js 所依赖的环境:

    Node 最终要支持所有 POSIX 操作系统(包括 带有 MinGW 的 Windows)但目前 它仅在 Linux 上进行测试, Macintosh 和 Solaris。构建 系统需要 Python 2.4 或更高版本。 构建 Node 的 V8 支持 仅 IA-32 和 ARM 处理器。 V8 是 包含在 Node 发行版中。至 使用 TLS,需要 OpenSSL。那里 没有其他依赖项。

    您可以将它与另一个网络应用程序并行运行。如果与文件系统的交互时间过长,这将避免阻塞您的 Web 应用程序。

    【讨论】:

      【解决方案4】:

      出于安全原因,通过javascript访问客户端计算机文件通常不是一个好主意,但我怀疑您可以使用File System Object。我不确定浏览器的兼容性,但它应该只能在 IE 中工作。

      您需要使用PHP、ASP.NetJSP等服务器端语言

      【讨论】:

        【解决方案5】:

        JavaScript 在宿主环境中运行。因此,如果主机提供了以这种方式列出文件的工具,那么可以。但在 JavaScript 在默认配置的浏览器中运行的典型场景中,不会。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2011-06-29
          • 1970-01-01
          • 2012-08-11
          • 2013-04-29
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多