我有一个使用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和请求模块。 如果有人可以提供帮助,我感激不尽。