【问题标题】:Local FileSharing via a Web Interface通过 Web 界面共享本地文件
【发布时间】:2023-03-08 00:18:02
【问题描述】:

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

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

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

不幸的是,浏览器不允许这样的链接(或 file:// 链接),所以我试图找到一种方法来实现这一点。我做了一些研究并阅读了一些网页,人们告诉我你不能从浏览器访问带有 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 个用户这样做是不切实际的。

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

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

【问题讨论】:

    标签: c# javascript extjs download


    【解决方案1】:

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

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

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

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

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

    【讨论】:

      【解决方案2】:

      选项:

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

      2. 使用 Flash

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

      3. 使用签名的 Java 小程序

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-04-14
        • 2015-01-13
        • 2016-03-13
        • 2018-10-08
        • 2012-05-09
        • 2021-10-28
        • 1970-01-01
        相关资源
        最近更新 更多