Tenho um WebService que retorna um arquivo PDF (byte[]). Estou retornando o nome do arquivo no Header da resposta.
No Chrome eu consigo ver os valores de 'Response Headers' e vejo que todos os headers estão lá, inclusive o nome do arquivo. Porém, quando tento recuperar esses valores no Angular, eu não consigo, pois no headers vem apenas o "Content-Type:application/pdf".
getPdf(url: string){
this.http.get(url, {responseType: 'arraybuffer', observe:'response'})
.subscribe(data => {
console.log(data.headers.get('filename')); // Imprime: null
console.log(data.headers.keys()); // Imprime: ["Content-Type"]
this.downloadFile(data.body);
});
}
Response Headers exibido no navegador:
Access-Control-Allow-Credentials:true Access-Control-Allow-Headers:Origin, X-Request-Width, Content-Type, Accept, authCode Access-Control-Allow-Origin:* Connection:keep-alive Content-Disposition:attachment; filename=arquivo.pdf Content-Type:application/pdf Date:Mon, 26 Nov 2018 14:23:37 GMT filename:arquivo.pdf Server:JBoss-EAP/7 Transfer-Encoding:chunked X-Powered-By:Undertow/1