对本地文件的访问仅适用于本地HTML文件

时间:2018-02-02 09:56:15

标签: javascript php html file local

我想通过点击HTML链接访问我计算机上的本地文件

<a href="file:///\\mynetworklink\users\myusername\public\mydoc.docx">Link to local file</a>

如果我从本地HTML文件中执行此操作非常有用,例如:

file:///D:/Profiles/myusername/Desktop/testfile.html

通过使用Javascript中的window.open,它甚至可以正常工作:

    <script type="text/javascript">
    window.open('\\\\mynetworklink\\users\\myusername\\public\\mydoc.docx', 'MyWindow');
    </script>

但是,如果我不允许这样做,那么当我使用Apache的本地PHP应用程序执行此操作时。 尝试使用链接标记时出现错误:

Not allowed to load local resource

所以我听说Chrome / Firefox / IE出于安全原因阻止本地文件访问。

如果没有修改浏览器设置,有没有办法让它工作? 这个应用程序被很多客户使用,我不能要求每个人修改那些设置。

谢谢你, 最好的问候。

4 个答案:

答案 0 :(得分:0)

  

所以我听说Chrome / Firefox / IE出于安全原因阻止本地文件访问。

  

如果没有修改浏览器设置,有没有办法让它工作?

没有。这将使它成为一个毫无意义的安全功能。

答案 1 :(得分:0)

我找到了Firefox的解决方案,插件为here

但是,您还需要在安装插件后下载要在Windows或Linux上安装的内容。

我仍在为IE寻找相同的解决方案。

答案 2 :(得分:0)

将您的应用程序分发为ElectronJS应用程序。这将使您能够无缝访问本地文件系统和Web功能。

答案 3 :(得分:-2)

听起来你必须配置Apache来映射文件系统上的资源:

查看here并可能使用Alias directive

的httpd.conf

Alias "/resources/" "C:/users/myusername/public/resources/"

然后按如下方式使用它:

<a href="/resources/mydoc.docx">Link to local file</a>