【问题标题】:Is it possible to obtain nested folder information in a standard web application without using a browser plugin?是否可以在不使用浏览器插件的情况下在标准 Web 应用程序中获取嵌套文件夹信息?
【发布时间】:2012-04-29 10:34:29
【问题描述】:

已阅读此问题的答案: How to upload folder in web application',Web 应用程序是否能够浏览客户端用户机器上的文件夹结构?

这对于上传嵌套文件夹结构中的所有文件和子文件夹很有用,而无需用户自己导航整个目标文件夹层次结构。

我认为这是不可能的,因为 HTML/Javascript 自行执行(不与 Java 或 Flash 插件一起使用)没有权限浏览客户端计算机的文件夹?但是我的一些同事不同意,所以我想把这个问题放在那里。

如果它可能的,那怎么办?我在这里寻找理论,而不是完整的代码解决方案,但不是太理论以至于您从未验证过。

【问题讨论】:

  • 你是对的。您不希望在浏览器中执行代码来查看您的本地文件。那将是一个巨大的安全风险。有/有些方法可以使用浏览器插件来做到这一点,但它们本身却没有任何原生网络技术(这是一件好事)。

标签: javascript html browser file-permissions directory


【解决方案1】:

如果您想包含特定文件夹/子文件夹中的所有文件.....请查看以下链接:

http://www.daniweb.com/web-development/javascript-dhtml-ajax/threads/144152/how-to-list-all-files-in-a-folder-including-subfolder-files

【讨论】:

  • 谢谢,但是当我深入研究这个参考资料时,它建议使用 JScript 中的 ActiveXObject 来实现文件列表,这与使用插件相同,但更糟糕的是因为它只能在 I.E.所以这不能回答我的问题。我不是在寻求如何实现我描述的用例的建议,而是在不使用插件或其他非标准添加到浏览器的情况下是否可以实现的答案。
【解决方案2】:

答案:不可能

由于没有人回答,而且我在阅读 W3C 规范和 IEFT HTML 和 HTTP RFC 时也找不到一丝怀疑,我 99% 确信这是不可能的(可能是为什么没有人回答)。

  1. 这会带来安全风险。如果网页可以浏览文件夹,则您的个人数据可能会被从 C 盘根目录开始浏览的网站泄露。

  2. input type="file" ... /> 标签不返回文件路径信息,只返回文件流及其元数据,所以怀疑有一些其他可用于在文件上传时回发文件路径信息的 HTML 实体。

【讨论】:

    【解决方案3】:

    HTML 标准 FileOpenDialog 是从您的浏览器提示的 OS Native(本地代码已在浏览器开发中完成

    标准(非插件)打开文件对话框将触发本机操作系统控制的文件打开器....如果操作系统不支持文件夹/目录选择,那么如果不使用插件,您将无能为力(因为某些插件是用原生代码编写的,你不能使用客户端脚本语言来接管你的操作系统的原生控制)。

    【讨论】:

      猜你喜欢
      • 2015-01-24
      • 2010-10-06
      • 1970-01-01
      • 2013-04-24
      • 1970-01-01
      • 1970-01-01
      • 2021-02-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多