首页 > 解决方案 > 从 webapp 启动本地 exe

问题描述

我开发了一个托管在 Linux 服务器(或某些客户端的 Windows)上的 Web 应用程序。我使用 Angular 6 作为前端,使用 Spring Boot 作为后端。

因此,每个用户都使用 Firefox 连接到应用程序。到目前为止,一切都很好。

但是,我必须开发一个新功能,允许用户从我的网络应用程序打开安装在他自己的计算机(Windows)上的软件......

所以我必须在我的应用程序(Angular 或纯 JavaScript)的客户端执行此操作才能启动该软件。

我知道出于安全原因这是禁止的,除非我们在 FireFox 的安全性中添加例外。

我尝试了以下代码,隔离在一个 javascript 文件中:

function launchDict(nom) {
  require(['child_process'], function (child_process) {
    //fs and child_process are now loaded
    var exec = child_process.exec;

    exec('C:\\PuTTY\\putty.exe', function (error, stdOut, stdErr) {
      alert("Appel logiciel");
    });
  })
}

怎么做?

****** 更新 ****** 由于安全合规性,javascript 方式似乎是一种“糟糕的方式”。所描述的解决方案似乎仅适用于 IE 示例: Is it possible to run an .exe or .bat file on 'onclick' in HTML

标签: javascriptangularexe

解决方案


由于安全风险,我不认为这是可能的,但作为一种解决方法,您可以创建一个可下载的快捷方式文件,其中已经包含参数。用户单击下载的 .lnk 是一个附加步骤,但由于您似乎已经知道其本地计算机上可执行文件的路径,因此它至少应该可以工作。


推荐阅读