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

Bun*_*ori 3 javascript html5 web-applications

正如我所读到的,JavaScript修改客户端PC上的文件并不容易.我正在开发基于Web的文件管理器,需要知道以下内容:

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

如果答案是否定的,那么Java Scipt无法列出客户端或服务器的C:\驱动器上的文件和文件夹,而CGI脚本是唯一的解决方案吗?

Jos*_*eph 7

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

出于安全原因,未经用户同意,您无法访问用户PC上的文件.

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

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

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

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

如果您有API从中读取文件,则使用JS 从浏览器访问服务器.

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

要在没有某些API的情况下访问其他服务器的文件,您可以使用创建Web 服务器端的Web scraper或Web-spider (因为源于相同的源策略,浏览器无法跨域)并且会向您的浏览器公开API .

然而:

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