我正在使用Express并尝试下载文件,然后加载页面。我知道问题是使用res.render停止了res.download,但我不知道如何解决此问题。我还尝试将res.render()放在res.download()的回调函数中,唯一发生的是res.render停止工作,但文件将下载。
app.get("/", function(req, res) {
res.download(
"./public/sample-zip/Lost Sky - Dreams.zip",
"Lost Sky - Dreams.zip",
err => {
if (err) console.log("Errore nel dw: " + err);
}
);
res.render("index");
});
答案 0 :(得分:1)
您不能以多种方式结束同一请求-幕后的C++
将调用g++
,后者将向客户端发送文件并结束请求,类似的download
将发送页面内容并结束请求。
此处正确的方法是允许将文件下载到客户端,然后让客户端在成功下载的背面重定向页面。