【问题标题】:Angular 2 app - link to local fileAngular 2 应用程序 - 链接到本地​​文件
【发布时间】:2017-11-07 09:43:43
【问题描述】:

在我的应用程序中,我正在查看本地计算机上的文件列表(它们的路径是从数据库中获取的)。单击文件时,应将其打开。我尝试了以下但没有成功:

<a href="file:///c:/path/to/file">FileName</a>

当用户点击上面的链接时,什么也没有发生。使用 chrome 时,我可以在控制台中看到以下错误消息(在 firefox 上没有消息):

不允许加载本地资源

我已阅读this 的问题,并明白:

Mozilla 浏览器拒绝跟踪使用 HTTP 协议获取的页面上的文件 URL。

我也明白,这个功能也在其他浏览器中实现。

呈现的文件不在服务器上,而是在本地机器上。所以我不能使用相对链接(对吗?)。有没有办法绕过这个并创建一个打开本地文件的链接?

【问题讨论】:

    标签: html angular http


    【解决方案1】:

    您不能从通过 http 服务的网站访问本地资源,因为这是一个安全问题。想想如果任何网站都可以访问您的机器上的文件,您的机器会发生什么情况。对于从与您的域不同的域提供数据,您还会受到其他安全限制。

    您究竟想通过访问本地文件来完成什么?深入了解原因可能会为您提供更多有用的建议。否则,答案是你不能也不应该这样做。

    【讨论】:

    • 我正在开发一个演示网络应用程序,它具有显示文件列表并通过单击加载其中任何一个的功能。实际上,该文件将位于服务器计算机上,在演示中,服务器计算机将成为客户端计算机 (localhost)。对于演示,我们只需要让事情快速运行,即使这意味着编写糟糕的代码并在之后重写它。从您的回答中,我了解到我唯一的选择是从服务器端加载文件(目前不存在)?
    猜你喜欢
    • 2019-09-07
    • 2019-02-21
    • 1970-01-01
    • 1970-01-01
    • 2017-06-27
    • 1970-01-01
    • 2014-02-12
    • 1970-01-01
    • 2011-12-22
    相关资源
    最近更新 更多