从nodejs后端下载Angular 4 / res。

时间:2019-03-04 10:06:05

标签: node.js angular api

我正在调用一个Angular组件,该组件将调用我创建的api服务,以调用nodejs后端。后端使用res.download下载一个zip文件。我认为响应未正确处理,因为当我直接从url(localhost:3000 / api / download / file)调用后端时,它可以正常工作。这是下面的代码:

1)角分量

downloadZipFile(index) {
    this._apiService.downloadZip(index).subscribe(data => {
    });
  }

2)Angular apiService

downloadZip(index) {
    return this._http.get('http://localhost:3000' + appConfig.__apiUrl + 'download/' + index);
  }

3)NodeJS API

router.get('/download/:index', (req, res) => {
  res.download(path.join(__dirname, 'downloads/' + req.params.index + '.zip'));
});

1 个答案:

答案 0 :(得分:0)

您要在角度服务HTTP请求中附加多个时间API URL。请删除其中之一。然后再次检查。

downloadZip(index) {
    return this._http.get('http://localhost:3000/download/' + index);
  }

在您的服务中添加以上代码。