【问题标题】:An URL to a Windows shared folder [duplicate]Windows 共享文件夹的 URL [重复]
【发布时间】:2023-03-09 00:08:02
【问题描述】:

有没有办法将 Windows 共享文件夹的 工作 链接合并到 HTML 页面中?例如。 \\server\folder\path的链接?

为简单起见,假设页面将在 Windows 机器上打开(当然,在 server 所在的同一 Intranet 上。)

我尝试了一些使用 file:// 方案的技巧,但似乎都没有奏效。

【问题讨论】:

    标签: html url networking share file-uri


    【解决方案1】:

    我认为有两个问题:

    1. 您需要转义斜线。
    2. 浏览器安全性。

    解释:

    1. 我检查了我的一个,我有图案:

      <a href="file://///server01\fshare\dir1\dir2\dir3">useful link </a>
      

      请注意,我们在协议 (file:) 后面加上了 5 个斜杠

    2. Firefox 将尝试阻止跨站点脚本。我的解决方案是修改配置文件目录中的 prefs.js。您将添加两行:

      user_pref("capability.policy.localfilelinks.checkloaduri.enabled", "allAccess");
      user_pref("capability.policy.localfilelinks.sites", "http://mysite.company.org");
      

    【讨论】:

    • 是的,浏览器安全是个问题。但我不知道目标浏览器是否是 Firefox。还有其他想法吗?
    • 看一个类似问题的答案,IE应该在哪里工作,Firefox可以调整,但是其他主要浏览器阻止了这个。 stackoverflow.com/questions/855614
    • 我需要先配置浏览器的设置吗?干杯!
    【解决方案2】:

    文件协议 URI 是这样的

    文件://[主机]/[路径]

    这就是为什么您经常看到这样的文件 URL(3 个斜杠)file:///c:\path...

    所以如果主机是server01,你想要

    file://server01/folder/path....

    这是根据关于 file:// 协议的维基百科页面,并使用 .NET 的 Uri.IsWellFormedUriString 方法进行检查。

    【讨论】:

      【解决方案3】:

      如果允许您更进一步,那么 javascript/html 设施 - 我会使用 apache Web 服务器通过 http 表示您的目录列表。

      如果这个解决方案是合适的。这些是步骤:

      1. 从其中一个镜像http://httpd.apache.org/download.cgi下载apache hhtp服务器

      2. 解压/安装(如果是 msi)到目录,例如 C:\opt\Apache(该指令适用于 windows)

      3. 将网络文件夹映射为 Windows 上的本地驱动器(\server\folder 比方说驱动器 H:)

      4. 打开 conf/httpd.conf 文件

      5. 确保下一行存在且未注释

        LoadModule autoindex_module modules/mod_autoindex.so

      6. 添加目录配置

      &lt;Directory "H:/path"&gt;

      Options +Indexes

      AllowOverride None

      Order allow,deny

      Allow from all

      &lt;/Directory&gt; 7. 启动 web 服务器并确保远程文件夹的目录列表可通过 http 访问。点击本地主机/路径 8. 在您的网页中使用框架来访问列表

      错过了什么: 1. 您可能需要对主机名进行更多花哨的配置,请参阅 Apache Web Server 文档。在 DNS 服务器中注册主机名

      1. 到网络驱动器的映射可能不起作用,我没有检查。作为一种可能的解决方案 - 将您的 Web 服务器托管在与 smb 服务器相同的机器上。

      【讨论】:

        【解决方案4】:

        这取决于您要如何合并它。 场景 1.点击链接 2. 弹出资源管理器窗口

        <a href="\\server\folder\path" target="_blank">click</a>
        

        如果需要花哨的 UI - 那么它几乎不会作为解决方案。

        【讨论】:

        • 我认为这将不起作用,除非 HTML 本身加载了 file:// URI 方案。至少它不适用于基于 WebKit 的 Chrome。
        猜你喜欢
        • 1970-01-01
        • 2019-02-24
        • 2011-01-15
        • 1970-01-01
        • 2010-09-06
        • 2021-09-22
        • 2023-03-23
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多