Siempre he tenido problemas descargando archivos desde un S3, o cualquier otra fuente de archivos, porque Chrome los descarga directamente y Firefox los abre en una nueva ventana y es un problema manipularlos. Lo que suelo hacer es:
getPDF(): Promise<any> {
return fetch(`url/to/pdf`,
{ method: 'GET', }
);
}
URL.createObjectURL()
para finalmente abrirla en una nueva pestala con window
. openPDF(): void {
this.getPDF()
.then(response => response.blob())
.then(pdf => {
if (pdf) {
window.open(URL.createObjectURL(pdf), '_blank');
}
})
.catch(err => {
console.log(err);
});
}