使用MEAN堆栈从nodejs服务器下载.tar.gz文件

时间:2016-12-08 00:41:47

标签: angularjs node.js express mean-stack

我正在尝试从运行时创建的服务器下载tar.gz文件。这是服务器端的代码

function downloadFile(req, res) {
  //some code to generate the tar file
  var file = ... code to compute the path ...
  res.download(file);
}

从客户端调用此方法的方法如下所示

  continueWithApplication(app) {
    this.$http.get('/api/applications/get-agent/' + app._id + '/' + this.nodeName).then(res => {
      var data = new Blob([res.data], { type: 'application/x-gzip' });
      this.FileSaver.saveAs(data, 'agent-1.0.tar.gz');
    })
    .catch(err => {
      alert('error downloading agent.');
    });
  }

我正在使用angular-file-saver来下载文件。

我可以看到文件被下载但是当我尝试解压缩文件时,它不会解压缩内容,但会创建一个扩展名为.cpgz的文件。我已经验证通过解压缩在服务器端生成的文件是有效的.tar.gz文件。下面的screeen镜头显示当我尝试解压缩下载文件时发生的情况(agent-1.0.tar.tar.gz - > agent-1.0.tar.gz.cpgz)

enter image description here

知道我做错了什么吗?非常感谢任何指针。

P.S。请原谅我对角度和平均堆叠的有限知识。

0 个答案:

没有答案