保存在响应体角度2中收到的zip文件

时间:2017-06-25 17:31:28

标签: node.js angular rest express typescript

我有一个使用node.js和express.js的休息服务,它使用express-zip返回一个zip trough响应:

res.zip([{path:'file', name: 'file'}]);

当我用节点调用它时,要使用以下代码对其进行测试,它会创建一个有效的zip文件:

var fs = require('fs');
var request = require('request');

request({
    url: "http://deti-lei-2.ua.pt:3500/runProgram/posio/211/1",
    method: "GET",
    encoding: null,
    headers: {
        Authorization: 'token'
    }

}).pipe(fs.createWriteStream('file.zip')).on('close', function () {
    console.log('File written!');
});

但我需要使用角度为2的服务,但是,我尝试了许多方式来执行请求而没有工作,我总是以一个损坏的拉链结束。 我试过的方法之一是:

downloadFile(program: string) {
    var bytes = [];
    for(var i = 0 ; i < program.length; i++){
        bytes.push(program.charCodeAt(i));
    }
        var FileSaver = require('file-saver');
        var blob = new Blob([bytes], {type:'application/zip'});
        FileSaver.saveAs(blob,'Program');
  }

我也尝试使用上面的代码在js中创建一个函数,这是有效的,但我没有成功因为我不能使用fs和请求模块。 如果有人可以提供帮助,我感激不尽。

0 个答案:

没有答案