【发布时间】:2023-03-09 00:08:02
【问题描述】:
有没有办法将 Windows 共享文件夹的 工作 链接合并到 HTML 页面中?例如。 \\server\folder\path的链接?
为简单起见,假设页面将在 Windows 机器上打开(当然,在 server 所在的同一 Intranet 上。)
我尝试了一些使用 file:// 方案的技巧,但似乎都没有奏效。
【问题讨论】:
标签: html url networking share file-uri
有没有办法将 Windows 共享文件夹的 工作 链接合并到 HTML 页面中?例如。 \\server\folder\path的链接?
为简单起见,假设页面将在 Windows 机器上打开(当然,在 server 所在的同一 Intranet 上。)
我尝试了一些使用 file:// 方案的技巧,但似乎都没有奏效。
【问题讨论】:
标签: html url networking share file-uri
我认为有两个问题:
解释:
我检查了我的一个,我有图案:
<a href="file://///server01\fshare\dir1\dir2\dir3">useful link </a>
请注意,我们在协议 (file:) 后面加上了 5 个斜杠
Firefox 将尝试阻止跨站点脚本。我的解决方案是修改配置文件目录中的 prefs.js。您将添加两行:
user_pref("capability.policy.localfilelinks.checkloaduri.enabled", "allAccess");
user_pref("capability.policy.localfilelinks.sites", "http://mysite.company.org");
【讨论】:
文件协议 URI 是这样的
文件://[主机]/[路径]
这就是为什么您经常看到这样的文件 URL(3 个斜杠)file:///c:\path...
所以如果主机是server01,你想要
file://server01/folder/path....
这是根据关于 file:// 协议的维基百科页面,并使用 .NET 的 Uri.IsWellFormedUriString 方法进行检查。
【讨论】:
如果允许您更进一步,那么 javascript/html 设施 - 我会使用 apache Web 服务器通过 http 表示您的目录列表。
如果这个解决方案是合适的。这些是步骤:
从其中一个镜像http://httpd.apache.org/download.cgi下载apache hhtp服务器
解压/安装(如果是 msi)到目录,例如 C:\opt\Apache(该指令适用于 windows)
将网络文件夹映射为 Windows 上的本地驱动器(\server\folder 比方说驱动器 H:)
打开 conf/httpd.conf 文件
确保下一行存在且未注释
LoadModule autoindex_module modules/mod_autoindex.so
添加目录配置
<Directory "H:/path">
Options +Indexes
AllowOverride None
Order allow,deny
Allow from all
</Directory>
7. 启动 web 服务器并确保远程文件夹的目录列表可通过 http 访问。点击本地主机/路径
8. 在您的网页中使用框架来访问列表
错过了什么: 1. 您可能需要对主机名进行更多花哨的配置,请参阅 Apache Web Server 文档。在 DNS 服务器中注册主机名
【讨论】:
这取决于您要如何合并它。 场景 1.点击链接 2. 弹出资源管理器窗口
<a href="\\server\folder\path" target="_blank">click</a>
如果需要花哨的 UI - 那么它几乎不会作为解决方案。
【讨论】:
file:// URI 方案。至少它不适用于基于 WebKit 的 Chrome。