Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Como recuperar valores no Response Headers?

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

3 respostas
solução!

Boa tarde, Victor! Como vai?

Dá uma olhada nesse link e veja se ele te ajuda!

Qualquer coisa é só falar!

Grande abraço e bons estudos, meu aluno!

Perfeito. Foi só colocar o "Access-Control-Expose-Headers".

Obrigado.

Por nada, Victor! Sempre que precisar de alguma ajuda ou tirar dúvidas é só mandar aqui no fórum da Alura!

Grande abraço e bons estudos, meu aluno!