我正在尝试下载Excel文件,以便从angular js进行POST
按钮调用。
我的Java控制器返回void。
要在excel文件中写入的服务:
response.setContentType("application/ms-excel");
response.setHeader("Content-Disposition","attachment filename=\"" + fileName + ".xls"+ "\"");
workbook.write(response.getOutputStream());
响应的类型为HttpServletResponse
。
如何在Angular
中编写下载文件的方法?
答案 0 :(得分:1)
要从服务器下载文件。
单击按钮即可调用功能。
downloadFile():void
{
this.getFiles("http://localhost:80080/api/demo/GetTestFile")
.subscribe(fileData =>
{
let b:any = new Blob([fileData], { type: 'application/zip' });
var url= window.URL.createObjectURL(b);
window.open(url);
}
);
}
public getFiles(path: string):Observable<any>{
let requestOption = new RequestOptions({responseType: ResponseContentType.Blob});
return this.http.get(filePath, requestOption)
.map((response: Response) => <Blob>response.blob()) ;
}