读取HTML页面中本地文件夹中的文件名

时间:2014-08-26 05:51:48

标签: javascript html directory activexobject local-files

我正在创建一个HTML页面,我需要显示特定本地文件夹中存在的文件的名称,例如 - C:\ Users \ User1 \ Documents \ folder1。我试着用java脚本编写代码,但还没有成功。大多数问题线程提到了要使用的“ActiveXObject”,但这本身并不适用于我。

参考:JavaScript: Read files in folder

有人可以帮助我实现这个目标吗?

2 个答案:

答案 0 :(得分:2)

一般情况下,您无法做到这一点。网页无权访问本地文件系统。

Chrome can access the contents of a directory that is selected using a file input field.但是,其他浏览器(如Internet Explorer和Firefox)目前尚未实现此功能,目前也无法访问未被用户选择的目录。

理论上,可以使用签名的Java(而不是Javascript)applet读取任意文件。但是,这需要用户批准一系列极其可怕的警告对话框 - 并且需要Java! - 所以它真的不是一个可行的解决方案。

答案 1 :(得分:0)

我担心您的设计可能是坏消息的承载者:您请求的操作明显违反了File API规范中指定的安全模型。 FileReader()的客户端实现必须确保"用户首先选择了FileReader对象正在读取的所有文件。" (W3C File API,13。安全注意事项:http://www.w3.org/TR/FileAPI/#security-discussion)。

浏览器脚本的巨大安全风险可能只是在没有任何用户交互的情况下从路径中任意打开和读取任何文件。没有浏览器制造商允许不受限制地访问整个文件系统。

然而,考虑一下,如果它全部在本地运行,你可以使用ajax来查询可以返回你请求的目录的服务器端脚本。