Запустите буфер (.exe) без записи файлов в Nodejs - PullRequest
0 голосов
/ 06 января 2020

Предположим, что в терминале, который я создал с помощью языка C, было консольное приложение с криком "Hello world!" Программа называется hello.exe. Я загружаю hello.exe на сервер stati c.

Теперь я могу загрузить файл, введя следующий адрес в chrome. http://localhost:8080/hello.exe

Или я могу получить объект Blob, используя метод http в Nodejs. Есть ли способ запустить этот полученный объект Blob сразу, не создавая файл? И получите строку Hello world!

Подобные темы не найдены. Нужно ли создавать и запускать файл и сразу его стирать? Я хочу, чтобы файлы запускались и не оставались на моем P C.

1 Ответ

1 голос
/ 06 января 2020

Я не знаю ни одного способа запустить файл .exe, не предварительно поместив его на диск. По сути, вам нужно было бы написать свой собственный загрузчик exe, который работал бы из памяти вместо диска, и это было бы немалым усилием.

Имейте в виду, что клиент, который просто автоматически запускает некоторый исполняемый файл, который он получает по URL-адресу, подобному http://somedomain.com/hello.exe, без какого-либо вмешательства пользователя, может быть очень опасным клиентом, так как мошеннические веб-серверы могут отправить ему любой произвольный исполняемый файл, который выполнил все виды вреда (вирусы, вымогатели и т. д. c ...).

Нужно ли сразу создавать и запускать файл и стирать его?

Да, сотрите его после завершения работы программы.

Я хочу, чтобы файлы запускались и не оставались на моем P C.

Вы просто нужно будет почистить его в какой-то момент после того, как он запустится. Если у вас есть программный клиент c, не составит труда поместить файл во временный каталог уровня приложения, который ваше приложение может регулярно очищать. Если это из браузера, пользователь контролирует, куда файл попадает на диск, а пользователь контролирует, когда он удаляется - вы сами не можете управлять этим с веб-страницы.

Или я могу получить объект Blob с помощью метода http в Nodejs.

Вы можете загрузить двоичный файл. Не уверен, что именно вы спрашиваете здесь.

...