NodeJS Express - 端点下载文件

时间:2018-01-13 08:28:13

标签: node.js express download pipe

最近我正在开展一个项目,我偶然发现了一个问题,我无法找到一个真正令人满意的解决方案。 我想要一个让用户下载文件的端点。我为此使用了Express'函数AdditionalData,它运行得很好。但是,在我的场景中,文件放在服务器上,所以我必须先下载它。我目前正在做的是使用请求模块请求文件,使用fs将其保存到文件系统,然后让用户下载它。之后我删除它。

我认为这不是一个很好的解决方案,我想知道是否有更好的方法。

我正在尝试这样的事情:

res.download(filename)

});

是否可以不将文件保存在我的文件系统上,而是立即将其流式传输给用户?

1 个答案:

答案 0 :(得分:0)

我做了类似的事情:

app.get('/download', (req, res) => {
const url = 'https://i.imgur.com/4BZWw57.jpg',
    r = request(url);
    req.pipe(r);
    r.pipe(res);

});
相关问题