使用Chrome打开本地文件(file://)

时间:2015-02-25 16:48:10

标签: html google-chrome

我有一些包含某些表单的页面。所有链接在IE中都可以正常工作。当用户点击超链接时,它们很好地在新选项卡中打开;但是,我意识到使用Chrome时链接不会打开。我一直点击但没有打开。打开文件的唯一方法是复制超链接,在Chrome中打开一个新标签,粘贴然后再去。

<a href="FILE:\\outsideserver\files\shared\form1.pdf" target="_blank">Form1</a>

这是浏览器的功能吗?因为我用FireFox尝试过它并且也没有用? 有办法绕行吗?没有在浏览器中安装任何东西?因为我的用户喜欢Chrome。 感谢您提前回复。

3 个答案:

答案 0 :(得分:4)

您无法访问服务器或“SandBox”以外的文件,沙箱中包含用户推送到浏览器或服务器的文件。

如果可以从浏览器访问网页中的pc文件,那将是一个安全问题。

答案 1 :(得分:2)

答案是,您可以使用自己的方法,更重要的是您不应该。 Chrome行为实际上是正确的行为,它可以防止恶意用户和/或脚本访问您的本地资源。

FILE协议将访问本地或定义的网络名为的资源,这些资源对访问同一页面的远程用户不可用。换句话说,您可能将outsideserver映射为网络资源/驱动器,但其他人不会(这不适用于IP)

以下是您可以做的事情:

  • 将代码移动到服务器端脚本(php,asp等)并将文件流回。在SO上找到了一个简单的例子。我没有验证它。 Streaming a large file using PHP
  • outsideserver上安装网络服务器,并将新网站映射到shared文件夹。然后,您可以通过http(http://outsideserver.com/form1.pdf
  • 引用它

答案 2 :(得分:2)

将以下扩展名用于Chrome。它将起作用。

Enable local file links

下面两个选项均正常工作并经过测试。

<a href="\\server\folder\">Link 2</a>

<a href="file:///C:/folder/test.txt">Link 3</a>
   
相关问题