如何使用JavaScript访问本地系统中的文件?

时间:2010-12-28 12:46:12

标签: javascript jquery-mobile filesystem-access

我正在使用jQuery Mobile框架。我有一个托管网站的服务器。用户可以通过移动浏览器连接到网站,并从该网站下载文件(.doc,.xls,.pdf等)。我需要使用JavaScript以编程方式打开保存在用户移动设备中的文件。我尝试使用location.href="file://sdcard/download/test.doc"打开。 但它没有用。它显示许可被拒绝。这有什么办法吗?请帮忙。提前致谢。

3 个答案:

答案 0 :(得分:2)

出于安全原因,浏览器将阻止对本地文件系统的所有访问。您必须使用其他扩展来访问这些文件 - 或者将它们下载到本地变量而不是文件系统。

如果普通的旧JavaScript可以访问您的文件系统,那么糟糕的人将能够更轻松,更高效地完成非常糟糕的事情。如果你使用浏览器,有几种可能性:

http://www.c-point.com/JavaScript/articles/file_access_with_JavaScript.htm http://www.webreference.com/js/column71/

这些文章是特定于平台的,但并未利用安全性的最佳实践。 警告Emptor

答案 1 :(得分:2)

您无法单独使用纯基于Web的JavaScript访问文件系统,尤其是不能以跨平台或跨浏览器方式访问。但是,您可以从Internet Explorer上的ActiveX控件,Firefox扩展和Java小程序访问文件系统,所有这些都可以使用JavaScript进行交互。当然,您必须先让用户在浏览器上安装ActiveX,扩展程序或小程序。

答案 2 :(得分:1)

在Javascript中无法做到这一点。出于安全原因,明确拒绝访问本地文件。

您可以使用<a>元素链接到该文件,但即使在大多数浏览器中也是如此。