У меня проблема очень похожа на это PDF Blob - всплывающее окно, не показывающее контент, но я использую Angular 2. Ответ на вопрос заключался в том, чтобы установить responseType для arrayBuffer, но он не работает в Angular 2, ошибка - это reponseType не существует в типе RequestOptionsArgs. Я также пытался расширить его BrowserXhr, но все равно не работает (https://github.com/angular/http/issues/83).
Мой код:
createPDF(customerServiceId: string) {
console.log("Sending GET on " + this.getPDFUrl + "/" + customerServiceId);
this._http.get(this.getPDFUrl + '/' + customerServiceId).subscribe(
(data) => {
this.handleResponse(data);
});
}
И метод handleResponse:
handleResponse(data: any) {
console.log("[Receipt service] GET PDF byte array " + JSON.stringify(data));
var file = new Blob([data._body], { type: 'application/pdf' });
var fileURL = URL.createObjectURL(file);
window.open(fileURL);
}
Я также попытался сохранить метод As из FileSaver.js, но это та же проблема, PDF открывается, но содержимое не отображается. Благодаря