正如我所读到的,JavaScript修改客户端PC上的文件并不容易。我正在开发基于Web的文件管理器,需要知道以下内容:
如果您的答案是否定的,那么Java Scipt无法列出客户端或服务器的C:\驱动器上的文件和文件夹,而CGI脚本是唯一的解决方案吗?
答案 0 :(得分:7)
出于安全原因,未经用户同意,您无法访问用户PC上的文件。
这就是围绕文件输入框<input type="file">
和拖放区域创建FileReader API的原因,因为整个想法是“在用户同意的情况下访问文件”。如果用户没有故意将文件放入访问权限,则根本无法访问它。
至于服务器,如果你的意思是使用server-JS(NodeJS或Rhino)访问服务器,是的,你可以(无论如何它还能为网页提供服务吗?)。
使用JS从浏览器访问服务器,如果你有一个API可以从中读取文件。
要在没有某些API的情况下访问其他服务器的文件,您可以使用创建网络刮刀或运行服务器端的网络蜘蛛(因为浏览器无法跨越域{{{ 3}})并向您的浏览器公开API。
然而:
答案 1 :(得分:2)
CGI也不是解决方案,因为它只能访问服务器的文件系统,而不能访问访问您站点的客户端。从javascript访问客户端文件系统的唯一方法似乎是File API,显然是not implemented by many browsers。
答案 2 :(得分:0)
它是一个混合物,但你可以使用java applet或可怕的active-x控件。