1
resposta

Receber um arquivo PDF e exibir no browser

Olá,

Tenho um serviço que ao realizar um request via postman por exemplo, recebo um arquivo .pdf

Estou chamando esse serviço a partir de um novo serviço nodeJS, porém não estou conseguindo fazer com que o .pdf seja retornado em uma chamada.

Recebo uma string com o conteúdo "%PDF-1.3 \n%���� \n1 0 obj \n<< \n/Type /Catalog \n/Pages 2 0 R \n/PageMode"

Realizo a comunicação entre os serviços usando request do nodeJS

return new Promise( async (resolve,reject) => {          
          request({
              headers: {
                'Content-Type': 'application/json',
                'Authorization': 'Bearer ' + token
              },
              url: url,
              method: 'GET',
            }, function (error, response, body) {                    
              if (error) {
                reject(error);
              } else {
                resolve(response.body);
              } 
            });
      });
    }

E em meu serviço adiciono as informações no header

.then((result) =>{                
    res.setHeader('Content-Type', 'application/pdf');
    res.setHeader('Content-Disposition', 'form-data; name="arquivo.pdf";     filename="arquivo.pdf"');
    res.status(200).send(result)
}

Como posso fazer para que o meu serviço seja apenas o meio de campo entre o serviço que disponbiliza o .pdf e uma chamada ajax?

Preciso de preferencia exibir esse .pdf no browser, ou realizar o download.

1 resposta

Oi Eliardo, você está usando o express? Já tentou fazer uso da função sendFile? Acho que ela pode resolver isso pra você.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software