仅使用 javascript 列出目录中的文件

IT技术 javascript
2021-01-16 12:17:42

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

www.domain.com/files/

包含 4 张图片 (.jpg)

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

5个回答

不,Javascript 无权访问文件系统。服务器端 Javascript是一个完全不同的故事,但我想你不是那个意思。

为了澄清,我的意思是列出服务器上的文件,而不是客户端计算机上的文件。例如:www.domain.com/files/ 包含 4 张图片 (.jpg) 我可以制作一个额外的页面 (www.domain.com/files/list.html) 使用 javascript 列出这 4 个文件吗?
2021-03-30 12:17:42

这个派对很晚了,但我谷歌搜索这个确切的请求把我带到了这里。

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

我不知道你的架构是否允许它,但是 ikf 你可以安装和使用 node.js 作为它的节点 API提到的,你可以通过要求 fs module与文件系统交互。

这是 Node.js 依赖的环境:

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

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

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

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

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