通过Web界面进行本地文件共享

时间:2013-05-16 13:11:00

标签: c# javascript extjs download

我们有一个文档管理系统,用户可以通过网页上传文档,我们会在云端跟踪服务器上的文件。有些用户希望将他们的文件存储在办公室的本地文件共享中,如\ 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个用户执行此操作只是不切实际。

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

经过多次调查和建议,我发现下面的答案几乎是不可能的,除非你想在系统中打开主要的安全漏洞。

2 个答案:

答案 0 :(得分:0)

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

因此,您无法向他们展示要使用的文件列表 - 他们每次都必须选择它。

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

或者你可以使用一个签名的java applet(它需要被强烈签名以获得本地文件访问权限),它在浏览器中运行以增强对本地文件的访问并以这种方式处理它。

可以在http://www.w3.org/TR/FileAPI/

找到FileAPI参考

答案 1 :(得分:0)

选项:

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

  2. 使用Flash

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

  3. 使用已签名的Java小程序