无需在Nodejs中写入文件即可运行Buffer(.exe)

问题描述 投票:0回答:1

假设我在使用C语言创建的终端中有一个控制台应用程序,大喊“ Hello world!”该程序称为hello.exe。我将hello.exe上传到静态服务器。

现在,我可以通过在Chrome中输入以下地址来下载文件。http://localhost:8080/hello.exe

或者我可以使用http中的Nodejs方法获取Blob对象。有没有一种方法可以立即运行此获取的Blob对象而无需创建文件?并获取字符串Hello world!

未找到类似主题。我需要创建并运行文件并立即将其擦除吗?我想要的是文件可以运行,而不要保留在我的PC上。

node.js blob buffer exec child-process
1个回答
0
投票

我不知道有没有任何方法可以先将.exe文件放入磁盘。从本质上讲,您将需要编写自己的exe加载程序,该加载程序是从内存而不是磁盘工作的,这将是不小的努力。

[请记住,一个仅运行从http://somedomain.com/hello.exe之类的URL获得的可执行文件的客户端,而无需任何用户干预,这可能是一个非常危险的客户端,因为流氓Web服务器可以向它发送任何会造成各种危害的任意可执行文件(病毒,勒索软件等...)。

我需要创建并运行文件并立即将其擦除吗?

是,请在程序运行后将其擦除。

我想让文件运行并且不保留在我的PC上。

您只需要在运行后的某个时间清理它。如果您具有程序化客户端,则将文件放在应用程序级别的临时目录中应该没什么大不了,您的应用程序可以定期清理该目录。如果这是来自浏览器,则用户可以控制文件在磁盘上的位置,用户可以控制文件的删除时间-您无法在网页中自行管理。

或者我可以在Node.js中使用http方法获取Blob对象。

您可以下载二进制文件。不确定您在这里问的是什么。

© www.soinside.com 2019 - 2024. All rights reserved.