这是以角度2下载文件的代码。我想用此代码下载pdf,txt,docx,excel文件。我使用了文件保护程序,所以我们可以点击按钮下载不同的文件。
public downloadCSVFile()
{
this.downloadPdf().subscribe(
(res) =>
{
//console.log(res);
saveAs(res,'Frontend.xlsx')
}
);
}
public downloadPdf(): any
{
let urls='assets/Files/Frontend.xlsx'
let headers = new Headers();
//headers.append('Authorization', 'JWT ' + localStorage.getItem('id_token'));
return this.http.get(urls, { headers: headers,responseType: ResponseContentType.Blob }).map(
(res) => {
return new Blob([res.blob()], { type: 'application/vnd.ms-excel' })
})
}
这是我的html代码所以如何下载不同的文件。由于文件名显示在表格中,所以我希望下载相应的文件。
<tr *ngFor ="let mydrive of providerMyDrive">
<td>{{ mydrive.name }}</td>
<td>{{ mydrive.filetype }}</td>
<td>{{ mydrive.size }}</td>
<td>{{ mydrive.uploaddate }}</td>
<td><input type="button" (click)="downloadCSVFile()" value="Download"></td>
<td></td>
</tr>
答案 0 :(得分:0)
只需创建一个链接并单击它:
this.storageService.downloadFile(path).subscribe(
res => {
let link = document.createElement('a');
link.href = window.URL.createObjectURL(res.blob());
link.download = path;
link.click();
}, error => this.globalService.errorSubject.next(error)
);