在内部网站上,假设我想使用UNC链接到共享文件,方法如下:
\\servername\foldername\filename.rtf
<a href="file://///servername/foldername/filename.rtf">filename.rtf</a>
这是五个斜杠 – 两个协议,一个表示文件系统的根,然后两个表示服务器名称的启动。
这在IE7中工作正常,但是在Firefox 3.6中,只有当html来自本地文件时才会工作。当文件来自Web服务器时,我无法使其工作。链接是“死的” – 点击它什么都不做。
在Firefox中是否有解决方法?这两个浏览器现在应该是我需要担心的。
解决方法
事实证明,我不知道Firefox有这个限制/功能。我可以同情这个功能,因为它可以防止用户不经意地访问本地文件系统。幸运的是,有一些有用的替代方案可以在遵守HTTP协议的同时提供类似的用户体验。
通过UNC路径访问内容的另一种方法是使用WebDAV协议发布您的内容。某些内容管理系统(如MS SharePoint)使用WebDAV来提供对文档和页面的访问。就最终用户体验而言,它看起来和感觉就像使用UNC路径访问网络文件;然而,所有的文件交互都是通过HTTP执行的。
您可能需要对文件访问原理进行适度更改,因此,我建议您阅读有关特定服务器技术的WebDAV协议,配置和权限管理。
以下是一些链接,如果您有兴趣了解有关在几个领先的HTTP服务器上配置和使用WebDAV的更多信息:
> Apache Module mod_dav
> IIS 7.0 WebDAV Extension
> Configuring WebDAV Server in IIS 7,6,5