正如我所读到的,JavaScript 在客户端 PC 上修改文件并不容易。我正在开发基于 Web 的文件管理器,需要了解以下内容:
- JavaScript 可以列出客户端 PC 上的文件和文件夹结构吗?
- JavaScript 可以列出服务器上的文件和文件夹结构吗?
如果您的回答是否定的,Java Scipt 不能列出客户端或服务器的 C:\ 驱动器上的文件和文件夹,那么 CGI 脚本会是唯一的解决方案吗?
正如我所读到的,JavaScript 在客户端 PC 上修改文件并不容易。我正在开发基于 Web 的文件管理器,需要了解以下内容:
如果您的回答是否定的,Java Scipt 不能列出客户端或服务器的 C:\ 驱动器上的文件和文件夹,那么 CGI 脚本会是唯一的解决方案吗?
出于安全原因,未经用户同意,您无法访问用户 PC 上的文件。
这就是为什么在文件输入框和拖放区域周围创建FileReader API的原因,因为整个想法是“在用户同意的情况下访问文件”。如果用户没有故意放置文件以供访问,您根本无法访问它。<input type="file">
至于服务器,如果您的意思是使用 server-JS(NodeJS或Rhino)访问服务器,是的,您可以(否则它将如何为网页提供服务?)。
如果您有一个 API 可以从中读取文件,那么使用 JS从浏览器访问服务器是可行的。
要在没有某些 API 的情况下访问其他服务器的文件,您可以求助于创建运行服务器端的网络爬虫或网络蜘蛛(因为浏览器由于相同的源策略而无法跨域)并将 API 暴露给您的浏览器.
然而:
CGI 也不是一个解决方案,因为它只能访问您服务器的文件系统,而不是访问您站点的客户端的文件系统。从 javascript 访问客户端文件系统的唯一方法似乎是File API,这显然没有被许多浏览器实现。
这是一个杂物,但您可以求助于 java 小程序或可怕的 active-x 控件。