【问题标题】:Download .exe file with SailsJS - NodeJS [closed]使用 SailsJS - NodeJS 下载 .exe 文件 [关闭]
【发布时间】:2015-02-04 13:49:00
【问题描述】:

我使用 Node-WebKit 创建了一个小型应用程序。所以我想在 SailsJS 中编写一个后端服务,它可以帮助我从远程服务器下载我的应用程序的 exe。我想知道在指定远程服务器位置时如何编写服务以将 .exe 文件下载到本地磁盘。

任何帮助表示赞赏, 提前致谢

【问题讨论】:

    标签: node.js exe sails.js node-webkit


    【解决方案1】:

    取决于可执行文件的位置。但基本上您只需读取该文件并将其写入响应流。这是通过将文件流通过管道传输到响应流中最有效地完成的。像这样的:

    var fs = require('fs');
    var filePath = 'path/to/your/file.exe';
    var stat = fs.statSync(filePath);
    
    response.writeHead(200, {
        'Content-Type': 'application/exe',
        'Content-Length': stat.size
    });
    
    var readStream = fs.createReadStream(filePath);
    readStream.pipe(response);
    

    需要注意的是,很多系统会阻止你的 exe 从网络下载后运行,所以这可能不是最适合你的分发模式。

    【讨论】:

    • 非常感谢。你能解释一下这将如何工作吗?现在为了进行测试,我正在尝试将我系统中本地的文件下载到另一个驱动器 (D) 中的一个驱动器 (C) 中。为此,代码将如何工作?
    • 该代码必须是您描述的 Sails 应用程序的一部分。如果您制作 Sails 应用程序,则将该代码放入其中一个控制器操作中。
    • 我试过你提供的方法。但我没有得到与我提供的路径相同的 .exe 文件。
    • 发布您更新的代码,您可能没有正确创建路径,但很难通过猜测来判断。
    • 对不起。这是我的错误。这种方法有效。我只需要提供一个 标签 即可下载。谢谢@Paul
    猜你喜欢
    • 2019-06-01
    • 1970-01-01
    • 2017-08-17
    • 2020-06-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-13
    相关资源
    最近更新 更多