最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

从Node.js Express 4应用程序下载.exe时出现网络错误

运维笔记admin6浏览0评论

从Node.js Express 4应用程序下载.exe时出现网络错误

从Node.js Express 4应用程序下载.exe时出现网络错误

[尝试从我的Nodejs Express应用程序下载.exe时,下载失败并出现网络错误。

这是路线。

let path = require("path");
let pathToTools = path.join(__dirname, "../public/tools/");

    router.get("/download/testrunner/windows", (req, res) => {

       res.download(`${pathToTools}/windows/testrunner.exe`);

     });

这是链接。

<a href="/tools/download/testrunner/windows"><i class="fas fa-download"></i></a>

我尝试从发现的帖子中将这种方法与fs一起使用,但仍然存在相同的错误。

    let filename = "testrunner.exe";

    res.setHeader('Content-disposition', 'attachment; filename='+filename);
    //filename is the name which client will see. Don't put full path here.

    res.setHeader('Content-type', 'application/x-msdownload');      //for exe file

    var file = fs.createReadStream(`${pathToTools}/windows/testrunner.exe`);
    //replace filepath with path of file to send
    file.pipe(res);
    //send file
回答如下:

所以.....我是个白痴.....我加了一个额外的正斜线.....

在下面的变量中,我在工具后面添加了一个正斜杠。

    let pathToTools = path.join(__dirname, "../public/tools/");

在res.download中,我添加了另一个正斜杠,使路径不正确。...

    res.download(`${pathToTools}/windows/testrunner.exe`);

所以路径看起来像这样。...

    ../public/tools//windows/testrunner.exe
发布评论

评论列表(0)

  1. 暂无评论