Angular 2 Herunterladen einer Datei: beschädigtes Ergebnis

Ich versuche, eine Datei mit Angular 2 / TypeScript und der Web-API herunterzuladen. Das Problem, das ich habe, ist, dass beim Herunterladen der Textdatei die Datei eine Datei ist, aber beim Versuch, eine PDF-Datei herunterzuladen, diese beispielsweise beschädigt ist. Der Inhalt der heruntergeladenen Datei ist Unsinn.

Das von mir verwendete TypeScript lautet wie folgt:

downloadFile(fileId: string): Observable<File> {
    this.applicationsUrl = `${APIConfig.BaseUrl}/documents/download/${fileId}/`;

    let headers = new Headers({ 'Content-Type': 'application/json', 'MyApp-Application' : 'AppName' });
    let options = new RequestOptions({ headers: headers });

    return this.http.post(this.applicationsUrl, '', options)
        .map(this.extractContent)
        .catch(this.handleError);
}

private extractContent(res: any) {
    let blob: Blob = new Blob([res._body], { type: 'application/pdf'});
    window['saveAs'](blob, 'test.pdf');
}

Das Fenster ['saveAs'] ist nur eine Problemumgehung für den Zugriff auf die Funktionen von JavaScript FileSaver.js.

Zusätzlich habe ich res gesetzt: Antwort auf res: any, damit ich unter JavaScript auf die Eigenschaft private _body zugreifen kann, ohne dass ein Kompilierungsfehler in TypeScript auftritt.

Jede Hilfe wäre sehr dankbar.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage