Puede crear un nuevo utils/downloadFile.js en el proyecto e importarlo cuando lo use;
Descargar CSV
export function downloadCsv(fileName,data){
const url = getUrl(data,{});
cosnt a = document.createElement('a');
a.href = url;
a.download = `${fileName}.csv`;
a.click();
window.URL.revokeObjectURL(url);
function getUrl(encoded,options){
const dataBlob = new Blob([`\ufeff${encoded}`],{type:"text/plain;charset=utf-8"})
return window.URL.createObjectURl(dataBlob)
}
}
Descargar excel
export function downloadExcel(fileName,data){
const a = document.createElement('a');
let dataBlob = new Blob([data],{type:"application/x-excel"});
a.style.display = 'none';
a.href = URL.createObjectURl(dataBlob);
a.download = `${fileName}.xls`;
document.body.appendChild(a);
a.click();
document.body.removeChild(a);
}
Descargar código postal
export function downloadzip(fileName,data){
const a = document.createElement('a');
let dataBlob = new Blob([data],{type:"application/zip"});
a.style.display = 'none';
a.href = URL.createObjectURl(dataBlob);
a.download = `${fileName}.zip`;
document.body.appendChild(a);
a.click();
document.body.removeChild(a);
}
El tipo de tipo específico y más detallado correspondiente al Blob se puede mover aquí:
https://www.iana.org/assignments/media-types/media-types.xhtml