・ExcelファイルはASP.NetのWebAPIで作成
⇒GETメソッドでxlsxファイルをResponseで返す
■ポイント
・responseTypeでArrayBufferを指定
this.http.get("http://hogehoge.com", { responseType: ResponseContentType.ArrayBuffer })
.subscribe(
data => {
var blob = new Blob([data.arrayBuffer()], { type: data.headers.get("content-type") });
var fName: string;
fName = decodeURI(data.headers.get("content-disposition").substring(data.headers.get("content-disposition").indexOf('=') + 1));
//IEの場合
if (window.navigator.msSaveBlob) {
window.navigator.msSaveOrOpenBlob(blob, fName);
} else {
//それ以外の場合(Chromeしか確認していない)
var a = document.createElement('a');
a.download = fName;
a.target = '_blank';
a.href = window.URL.createObjectURL(blob);
a.click();
}
}
)
0 件のコメント:
コメントを投稿