这是我的代码:
app.post('/post_route', function(req, res) {
//HACKY CODE TO SERVE THE CLIENT A TEXT FILE
var fileContents = Buffer.from(result, 'ascii');
var readStream = new stream.PassThrough();
readStream.end(fileContents);
res.set('Content-disposition', 'attachment; filename=' + fileName);
res.set('Content-Type', 'text/plain');
readStream.pipe(res);
res.redirect('/success');
});
第一部分将服务器内存的一部分作为文本文件发送到客户端。 完成此操作后,我想将用户重定向到成功页面。
这不起作用。
我的routes.js文件中也包含以下代码:
app.get('/success', function(req, res) {
res.render('success.ejs');
});
无论我尝试直接进行res.render('succes.ejs');
还是使用res.redirect()
都行不通。
这可能与“一个请求->一个响应”原则有关。 但是在这里,在尝试进行渲染/重定向之前,我没有做出直接响应。
我只设置了一些标题以允许下载。
那么,有没有一种方法可以绕过或破解它,以便设法进行渲染/重定向?