const fileExport = (data, fileName) => {
if(!fileName) {
let dis = data.headers['content-disposition']
fileName = decodeURIComponent(dis.split('attachment;filename=')[1])
}
const blob = new Blob([data.data || data], {
type: "application/octet-stream",
});
const urlObject = window.URL || window.webkitURL || window
let blobURL = urlObject.createObjectURL(blob);
let tempLink = document.createElement("a");
tempLink.style.display = "none";
tempLink.href = blobURL;
tempLink.setAttribute("download", fileName);
if (typeof tempLink.download === "undefined") {
tempLink.setAttribute("target", "_blank");
}
document.body.appendChild(tempLink);
tempLink.click();
document.body.removeChild(tempLink);
urlObject.revokeObjectURL(blobURL);
}
const downloadUrlFile = (url, fileName = new Date().valueOf()) => {
const url2 = url.replace(/\\/g, '/')
const xhr = new XMLHttpRequest()
xhr.open('GET', url2, true)
xhr.responseType = 'blob'
xhr.onload = () => {
if (xhr.status === 200) {
const blob = xhr.response
const type = blob.type.split('/')[1] || ''
fileName = fileName + '.' + type
fileExport(blob, fileName)
}
}
xhr.send()
}