Angular 2 baixando um arquivo: resultado corrompido

Estou tentando fazer o download de um arquivo usando Angular 2 / TypeScript e Web API. O problema que estou tendo é que, ao baixar o arquivo de texto, ele é um arquivo, mas ao tentar baixar um arquivo PDF, por exemplo, ele está corrompido. O conteúdo do arquivo baixado é absurdo.

O TypeScript que estou usando é o seguinte:

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');
}

A janela ['saveAs'] é apenas uma solução alternativa para acessar as funções JavaScript FileSaver.js.

Além disso, configurei res: Response to res: any para que eu possa acessar a propriedade _body privada em JavaScript sem uma falha de compilação no TypeScript.

Qualquer ajuda seria muito apreciada.

questionAnswers(2)

yourAnswerToTheQuestion