Javascript 是否可以从托管应用程序打开本地映像?

Javascript 是否可以从托管应用程序打开本地映像?,javascript,angular,Javascript,Angular,我想打开pc本地图像从外部网站点击 因此,我创建了一个包含图像文件列表的网格,这些文件的绝对路径与某些共享位置(例如本地pc)相关 我面临的问题是它不起作用 在chrome上,我在新的空白选项卡上收到了“关于:空白#阻止”的消息 Mozila打开新的空白选项卡,但不渲染图像。(注意如果单击“F5”,图像将正确重新加载) 托管代码: private navigateToUrl(url: string): void { const link = this.windowRefS

我想打开pc本地图像从外部网站点击

因此,我创建了一个包含图像文件列表的网格,这些文件的绝对路径与某些共享位置(例如本地pc)相关

我面临的问题是它不起作用

  • 在chrome上,我在新的空白选项卡上收到了“关于:空白#阻止”的消息
  • Mozila打开新的空白选项卡,但不渲染图像。(注意如果单击“F5”,图像将正确重新加载)
  • 托管代码:

    private navigateToUrl(url: string): void {
                const link = this.windowRefService.nativeWindow.document.getElementById('navigator');
                link.setAttribute('href', 'c:\\Desktop\\SomeImage.PNG');
                link.click();
            }
    
    我在本地机器上使用simple index.html尝试了同样的方法,效果很好

    <!DOCTYPE html>
    <html>
    <head>
    </head>
    <body>
    <a target="_blank" rel="noopener" href="c:\\Desktop\\SomeImage.PNG">Manual</a>
    <a id="navigator" target="_blank" rel="noopener" onclick="openImageAtNewTab()" >Javascript</a>
    </body>
    <script>
    function openImageAtNewTab() {
      var link = window.document.getElementById('navigator');
      link.setAttribute('href', "c:\\Desktop\\SomeImage.PNG);
      lick.click();
    }
    </script
    </html>
    
    
    Javascript
    函数openImageAtNewTab(){
    var link=window.document.getElementById('navigator');
    link.setAttribute('href',“c:\\Desktop\\SomeImage.PNG);
    单击();
    }
    
    这是一个安全问题,默认情况下浏览器会阻止文件访问。如果您可以禁用web安全并通过浏览器的标志参数启用文件访问,您可能可以强制执行此操作,尽管这不是一个实用的解决方案。请看这里
    <!DOCTYPE html>
    <html>
    <head>
    </head>
    <body>
    <a target="_blank" rel="noopener" href="c:\\Desktop\\SomeImage.PNG">Manual</a>
    <a id="navigator" target="_blank" rel="noopener" onclick="openImageAtNewTab()" >Javascript</a>
    </body>
    <script>
    function openImageAtNewTab() {
      var link = window.document.getElementById('navigator');
      link.setAttribute('href', "c:\\Desktop\\SomeImage.PNG);
      lick.click();
    }
    </script
    </html>