繁体   English   中英

下载文件后重定向 - Nodejs

[英]Redirect after download file - Nodejs

我正在尝试在下载文件后重定向页面。 这是代码:

app.get('/log', function(req,res){
     return res.download('file.txt', function(err){
            if(!err){
                return res.render('index.html');
            }
        });
})

但每次我收到此错误:错误:发送后无法设置标题。

下载后还有另一种重定向/呈现的方法吗? (请在服务器端)。

您不能按照您认为的方式执行此操作,因为标头已随下载响应一起发送。

您可以通过自己操作响应来发送文件下载所需的标头并发送位置标头来完成。 请求者应该理解位置标头并相应地重定向。

例如。

const fileData = /* read file */;
res.set({
  'Content-Type': 'text/plain',
  'Location': '/'
});
res.end(fileData);

只需将位置标头添加到下载响应中:

router.get('/', (req, res, next)=>{
    res.set({
        'Location': "URL://for.redirection"
    });
    res.download("path/to/the/resource");
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM