nodejs将文件发送到客户端挂起,直到服务器被终止

时间:2018-04-09 00:14:15

标签: node.js http file-transfer

我正在尝试将csv文件发送给客户端。

当我这样做时,下载开始,但挂起“开始....”并说它以0B / s发送。

当我杀死服务器时,文件被传输并且全部存在。

造成这种情况的原因是什么?

app.get('/weather_log.csv', function(req, res){
  console.log('sending weather log')
  filePath = 'weather_log.csv'
  var file = fs.readFileSync(filePath, 'binary');
  console.log(typeof(file))
  res.setHeader('Content-Length', fs.statSync(filePath));
  res.setHeader('Content-Type', 'text/csv');
  res.setHeader('Content-Disposition', "attachment;filename=" + filePath);
  res.write(file, 'binary');
  res.end();
})

我的猜测是res.end()没有触发,或者客户端没有意识到由于其他原因文件传输没有完成。

1 个答案:

答案 0 :(得分:0)

根据a0js,答案是使用res.download(filePath)。