我正在使用 jQuery Mobile 框架。我有一个托管网站的服务器。用户可以通过移动浏览器连接到网站并从该网站下载文件(.doc、.xls、.pdf 等)。我需要使用 JavaScript 以编程方式打开保存在用户移动设备中的文件。我尝试使用location.href="file://sdcard/download/test.doc"
. 但它没有用。它显示权限被拒绝。有什么办法吗?请帮忙。提前致谢。
问问题
3528 次
3 回答
2
您不能仅从纯基于 Web 的 JavaScript 访问文件系统,尤其是不能以跨平台或跨浏览器的方式访问。但是您可以从 Internet Explorer 上的 ActiveX 控件、Firefox 扩展和 Java 小程序访问文件系统,所有这些您都可以使用 JavaScript 进行交互。当然,您必须先让用户在浏览器上安装 ActiveX、扩展程序或小程序。
于 2010-12-28T13:30:10.610 回答
2
出于安全原因,浏览器将阻止对本地文件系统的所有访问。您将不得不使用其他扩展来访问这些文件——或者将它们下载到本地变量而不是文件系统。
如果常规的旧 JavaScript 可以访问您的文件系统,那么坏人将能够更轻松、更高效地做非常糟糕的事情。如果您不使用浏览器,则有两种可能性:
http://www.c-point.com/JavaScript/articles/file_access_with_JavaScript.htm http://www.webreference.com/js/column71/
这些文章是相当特定于平台的,但并未利用最佳安全实践。 买者自负
于 2010-12-28T12:53:56.167 回答
1
在 Javascript 中没有办法做到这一点。出于安全原因,对本地文件的访问被断然拒绝。
您可以使用<a>
元素链接到文件,但即使在大多数浏览器中也被禁用。
于 2010-12-28T12:48:00.227 回答