当前位置: 首页 > 面试题库 >

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

谯和煦
2023-03-14
问题内容

我正在尝试针对正在编写的某些算法采用“在云中不断更新”的范例,以便我的用户只需访问网页即可访问最新版本。这要求程序/网页可以从目录开始,然后递归检查其中的文件并根据找到的内容计算结果。最后,它还应该能够将结果文件写入客户端的文件系统。

上一个问题的答案之一是Google Gears,但此后因支持HTML5而被终止。在HTML5中可以访问客户端目录吗?怎么样?

我知道为什么任何网页访问本地文件都会带来安全风险,但是出于我的目的,我没有问题要询问用户适当的权限。


问题答案:

不,至少不是直接。但是,您在这里有多种选择。

当前,您的最佳选择是:

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


 类似资料:
  • 问题内容: 为了澄清当我询问浏览器到浏览器的通信时,我的意思是在转发消息之间没有服务器。我想为游戏实现这样的功能。如果无法在websockets中使用p2p,是否有类似的选择?任何帮助表示赞赏。 问题答案: 否。浏览器只能启动WebSockets连接,不能接收它们。在W3C的浏览器API规范只定义了如何启动出站连接。 您可以创建一个既可以启动也可以接受WebSockets连接的应用程序,但是浏览器

  • 问题内容: 尝试使用XMLHttpRequest从本地文件执行HTTP请求时,由于违反,它基本上会失败。 但是,我本人正在使用本地网页,所以我想知道是否有任何方法可以使Google Chrome允许这些请求,这些请求是从本地文件到Internet上的URL。 例如,在本地文件中执行时失败,但是我自己编写了该页面的脚本,并且自己在使用它,因此,如果我可以禁止它并加载URL,它将非常有用。 因此,如何

  • 我在我的Web服务器(Debian/Nginx/Gunicorn)上运行Redis进行会话存储,我有理由相信我的Redis服务器遭到了黑客攻击。这绝对是可能的,因为如果我在另一台机器上针对web服务器运行命令“redis cli-h(HOST IP)”,我就可以进入控制台并运行命令。我有两个问题。首先,如果我在我的iptables文件中添加一个新的部分,如下所示,我会正确地阻止除Web服务器本身之

  • 请考虑以下简单代码: https://godbolt.org/z/i2kby7 您可以看到和都没有优化对的潜在调用。在我的理解中,这是正确的:抽象机器假设变量随时可能发生变化(例如,由于是硬件映射的),因此将初始化常数折叠为检查将是错误的。 > 这里讨论了消除对的读写操作:允许编译器优化本地volatile变量吗?(谢谢内森!)。我认为标准是非常清楚的,那些读写必须发生。但是这些讨论并不包括编译器

  • 问题内容: 是否有从客户端浏览器获取时区的可靠方法?我看到了以下链接,但我想要一个更强大的解决方案。 使用JavaScript自动检测时区 JavaScript中的时区检测 问题答案: 查看此存储库pageloom很有帮助 下载jstz.min.js并将功能添加到您的html页面 然后从您的显示代码调用此函数