Los siguientes ejemplos de código funcionan con:
No funciona con:
var oReq = new XMLHttpRequest(); var URLToPDF = fileUrl; oReq.open('GET', URLToPDF, true); oReq.responseType = 'blob'; oReq.onload = function () { const file = new Blob([oReq.response], { type: 'application/pdf' }); const fileURL = URL.createObjectURL(file); window.open(fileURL, '_blank'); }; Axios(fileUrl, { method: 'GET', responseType: 'blob', }) .then((response) => { const file = new Blob([response.data], { type: 'application/pdf' }); const fileURL = URL.createObjectURL(file); window.open(fileURL); }) .catch((error) => { console.log(error); }); import { saveAs } from 'file-saver'; fetch(fileUrl, { method: 'get', }).then((response) => response.blob()) .then((blobContent) => { var blob = new Blob([blobContent], { type: 'application/pdf' }); saveAs(blob, 'test.pdf'); });Enfrentando un problema similar con ios/chrome. Como solución probada con la siguiente solución.
this.blobURL = URL.createObjectURL( new Blob([resp], { type: 'application/pdf;charset=utf-8;' }) ); const k = document.createElement('a'); k.setAttribute('href', this.blobURL); k.setAttribute('target', '_blank'); k.click();