Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 下载文件后重定向-Nodejs_Node.js - Fatal编程技术网

Node.js 下载文件后重定向-Nodejs

Node.js 下载文件后重定向-Nodejs,node.js,Node.js,我正在下载文件后尝试重定向页面。 代码如下: app.get('/log', function(req,res){ return res.download('file.txt', function(err){ if(!err){ return res.render('index.html'); } }); }) 但每次我遇到这个错误: 错误:发送邮件后无法设置邮件头 下载后是否有其他方法重

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

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");
});

您将如何编写代码:'随''一起发送位置标头'?它的代码片段是什么?谢谢