Si encuentras alguna incompatibilidad con tu código o proyecto, recuerda probar siempre en un ambiente de testing antes añadir el código al proyecto final.
Solución:
La especificación del cuadro de diálogo de ubicación de descarga depende completamente del navegador. A través de Javascript, no puede especificar la ubicación del escritorio de un usuario para descargar archivos. El acceso de Javascript a las ubicaciones de su directorio causará graves riesgos de seguridad. Como máximo, puede cambiar la configuración de su navegador para solicitar la ubicación de descarga cada vez.
Para implementar una descarga normal en la ubicación de descarga predeterminada, puede usar el protector de archivos
Solo impórtalo en tu código como:
import saveAs from 'file-saver'
y use saveAs
en su método downloadUrlToFile.
dataURLtoFile(dataurl, filename, format)
const arr = dataurl.split(',');
const mime = arr[0].match(/:(.*?);/)[1];
const bstr = atob(arr[1]);
let n = bstr.length;
const u8arr = new Uint8Array(n);
while (n--)
u8arr[n] = bstr.charCodeAt(n);
saveAs(new File([u8arr], filename, type: format));
Vea un ejemplo aquí: https://stackblitz.com/edit/angular-xrubur?file=src%2Fapp%2Fapp.component.ts
Si te ha sido de utilidad nuestro artículo, sería de mucha ayuda si lo compartieras con otros seniors de este modo nos ayudas a difundir nuestra información.