0

我们有一个文档管理系统,用户可以在其中通过网页上传文档,并且我们会跟踪云中服务器上的文件。一些用户希望将他们的文件作为 \server\folder\file.doc 存储在他们办公室的本地文件共享中,而不是上传文档本身,他们只会给我们那个“URL”。

在我们的系统中查看该文档时,他们只会看到指向该 URL 的链接,例如:

<a href="\\server\folder\file.doc">Your file</a>

不幸的是,浏览器不允许这样的链接(或文件://链接),所以我试图找到一种方法来完成这项工作。我做了一些研究并阅读了一些网页,人们告诉我你不能从浏览器访问带有 URL - file:// 的文件。这在大多数浏览器中都被阻止,因为这可能会导致巨大的安全威胁。

我们需要它在 Firefox、Chrome 和 IE 中工作,我已经看到了一些可能的方法来使用一些附加组件来做到这一点,但这似乎是一种非常笨拙的方法。

这些是我尝试过的一些附加组件:

https://addons.mozilla.org/en-US/firefox/addon/locallink/

https://addons.mozilla.org/en-US/firefox/addon/local-filesystem-links/?src=search

另一种选择是更改 Firefox 本身的一些设置以允许其中一些功能工作,但为 1000 多个用户这样做是不切实际的。

我假设我不是第一个遇到这个问题的人。有没有人找到一个合理的解决方案,可以跨浏览器工作而不会导致支持噩梦(例如,必须更改设置或安装插件)?

经过大量调查和建议,我在下面的答案中发现这实际上是不可能的,除非你想在系统中打开主要的安全漏洞。

4

2 回答 2

0

没有任何明智的方式来做你所追求的。您拥有可以通过 Javascript 访问的 FileAPI,它应该可以让您读/写可作为网络路径访问的文件 - 限制是用户实际上必须使用打开/保存文件对话框“选择”文件。

因此,您不能只向他们展示要使用的文件列表——他们必须每次都选择它。

您可以做的最好的事情是在您的服务器上存储一个文件列表和一个“使用本地文件”按钮,以使用 FileAPI 推送数据。当然,使用 FileAPI 也会限制您使用现代浏览器(没有 IE8)

或者,您可以使用在浏览器中运行的签名 Java 小程序(需要对其进行强签名才能访问本地文件)来增加您对本地文件的访问并以这种方式处理它。

FileAPI 参考可以在http://www.w3.org/TR/FileAPI/找到

于 2013-05-16T13:30:38.053 回答
0

选项:

  1. 使用 Sencha Desktop 将应用程序部署为桌面应用程序

  2. 使用闪存

    http://help.adobe.com/en_US/AS2LCR/Flash_10.0/help.html?content=00000451.html

  3. 使用签名的 Java 小程序

于 2013-05-16T19:55:59.927 回答