Я использую это в node JS: -
let file = `${process.cwd()}/server/downloads/JRuler.exe`;
let filename = path.basename(file);
let stat = fs.statSync(file);
res.writeHead(200, {
'Content-Type': 'application/octet-stream',
'Content-Length': stat.size,
'Content-disposition': 'attachment; filename=' + filename
});
let readStream = fs.createReadStream(file);
readStream.pipe(res);
И это в Angular
download() {
this.clientAPI.get(Endpoints.DOWNLOAD).toPromise()
.then(res => {
console.log('res')
let blob = new Blob([new Uint8Array(res.file)],{type:'application/octet-stream'});
console.log('blob',blob);
let a = document.createElement('a');
var ua=navigator.userAgent;
var msie= ua.indexOf("MSIE") > -1 || ua.indexOf("Trident/") > -1;
if(msie){
navigator.msSaveOrOpenBlob(blob,res.filename);
}
else{
a.href = (URL.createObjectURL(blob));
a.download = res.filename;
document.body.appendChild(a);
a.click();
a.remove();
}
})
.catch(err => console.error("download error = ", err))
}
Но я получаю сообщение об ошибке: -
Подскажите, пожалуйста, как я могу работать с angular интерфейсом.