HTML5是否允许您从浏览器中与本地客户端文件进行交互

gre*_*eye 32 filesystems security file-io html5

我已经看到一些关于通过网页访问客户端机器上的文件的帖子,即这个问题.

我正试图在我正在编写的一些算法中继续"在云中不断更新"范例,这样我的用户就可以通过访问网页来访问最新版本.这要求程序/网页可以从目录开始,并递归地检查其中的文件,并根据找到的内容计算结果.最后它还应该能够将结果文件写入客户端的文件系统.

上一个问题中的一个答案提到了Google Gears,但此后已停止使用HTML5.是否可以在HTML5中访问客户端目录?怎么样?

我知道为什么任何网页访问本地文件都存在安全风险,但出于我的目的,我可以向用户询问相应的权限.

Tow*_*wer 30

不,至少不是直接的.但是,你有很多选择.

目前您最好的选择是:

  • 从桌面拖放文件,请参阅教程.
  • 使用输入类型文件.
    • 使用File API读取内容或提交表单.有关动态读取文件的详细信息,请参阅Mozilla开发人员中心.
    • 您可以指定multiple属性以一次读取和打开多个文件,而无需具有单独的字段.
    • 您可以拥有一个不可见的输入并在其上"触发单击"以打开文件打开对话框.有关详细信息,请参阅之前的Mozilla开发人员中心链接
  • 使用FileSystem API,它允许您创建,删除,读取,修改文件系统上的文件.注意:您将获得一个沙盒目录,您无法像这样访问整个系统.
  • 将Java与已签名的applet一起使用以访问整个文件系统.这要求用户接受签名.

  • @Dave:截至目前(2011 年 2 月 10 日)以及在可预见的将来,HTML5 将不会直接提供对用户文件系统的读/写访问。Chrome 中有一些规范和实现的东西(http://dev.w3.org/2009/dap/file-system/pub/FileSystem/),但它只允许您在沙盒目录中运行操作,而无法访问外部文件。我认为 Java 拥有最强大的功能,如果您首先签署小程序,那么您可以写入/读取系统上的几乎任何文件。显然会要求用户信任该签名。 (2认同)