根据文件类型进行下载, 文档/图片
根据文件类型进行下载, 文档/图片
function loadFile(fileUrl, fileName) {if (isImageByExtension(fileUrl)) {try {downloadRes(fileUrl, fileName)} catch (error) {downloadFile(fileUrl, fileName)}} else {downloadRes(fileUrl, fileName)}
}
const downloadFile = (fileUrl, fileName) => {const link = document.createElement('a');link.href = fileUrl;link.download = fileName;link.target = '_blank';link.style.display = 'none';document.body.appendChild(link);link.click();document.body.removeChild(link);
}
const downloadRes = async (url, name) => {let response = await fetch(url)let blob = await response.blob()let objectUrl = window.URL.createObjectURL(blob)let a = document.createElement('a')a.href = objectUrla.download = namea.click()a.remove()
}
function isImageByExtension(filename:string) {const imageExtensions = ['.jpg', '.jpeg', '.png', '.gif', '.bmp'];const extension = filename.substring(filename.lastIndexOf('.')).toLowerCase();return imageExtensions.includes(extension);
}