使用Nodejs和Angular下载文件

时间:2019-08-14 02:53:52

标签: node.js angular express http download

使用Express和Angular下载!

我正在将expressjs用于后端API编写API下载:

这是我的快递代码:

app.get('/download/:file(*)',(req, res) => {

var file = req.params.file;

var fileLocation = path.join('./uploads',file);

console.log(fileLocation);

res.download(fileLocation, file);

});

在Angular的.ts文件中,我编写了要下载的代码,如下所示:

public download(fileName: string): void {

var user = this._authService.getUser();

var token = JSON.parse(user).token || this.__authService.token;

var url = `${supportURL}/api/download/` + fileName;

const httpOptions = {

headers: new HttpHeaders({

'responseType': 'blob',

'Content-Type': 'application/json',

'Authorization': token

})

};

this._httpClient.get(url, httpOptions).subscribe(res => {

window.open(window.URL.createObjectURL(res));

});

}

在html文件中,我这样称呼:

<a (click) = "downloadFile(item.filename)"> Download</a>

但是当我单击下载时,它不是下载文件,没有显示任何错误,但是无法下载文件。我不知道为什么?在网络控制台模式下调试时,它还会显示我要下载但无法下载的映像,我错了吗?请告诉我如何。非常感谢你

0 个答案:

没有答案