・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 件のコメント:
コメントを投稿